{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "f02249e2",
   "metadata": {},
   "outputs": [],
   "source": [
    "# importing libaries\n",
    "\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy.io"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "7c6ddce9",
   "metadata": {},
   "outputs": [],
   "source": [
    "class LEMCell(nn.Module):\n",
    "    def __init__(self, ninp, nhid, dt):\n",
    "        super(LEMCell, self).__init__()\n",
    "        self.ninp = ninp\n",
    "        self.nhid = nhid\n",
    "        self.dt = dt\n",
    "        self.inp2hid = nn.Linear(ninp, 4 * nhid)\n",
    "        self.hid2hid = nn.Linear(nhid, 3 * nhid)\n",
    "        self.transform_z = nn.Linear(nhid, nhid)\n",
    "        self.reset_parameters()\n",
    "\n",
    "    def reset_parameters(self):\n",
    "        std = 1.0 / np.sqrt(self.nhid)\n",
    "        for w in self.parameters():\n",
    "            w.data.uniform_(-std, std)\n",
    "\n",
    "    def forward(self, x, y, z):\n",
    "        transformed_inp = self.inp2hid(x)\n",
    "        transformed_hid = self.hid2hid(y)\n",
    "        i_dt1, i_dt2, i_z, i_y = transformed_inp.chunk(4, 1)\n",
    "        h_dt1, h_dt2, h_y = transformed_hid.chunk(3, 1)\n",
    "\n",
    "        ms_dt_bar = self.dt * torch.sigmoid(i_dt1 + h_dt1)\n",
    "        ms_dt = self.dt * torch.sigmoid(i_dt2 + h_dt2)\n",
    "\n",
    "        z = (1. - ms_dt) * z + ms_dt * torch.tanh(i_y + h_y)\n",
    "        y = (1. - ms_dt_bar) * y + ms_dt_bar * torch.tanh(self.transform_z(z) + i_z)\n",
    "\n",
    "        return y, z\n",
    "\n",
    "# Define the LEM model\n",
    "class LEM(nn.Module):\n",
    "    def __init__(self, ninp, nhid, nout, dt=1.):\n",
    "        super(LEM, self).__init__()\n",
    "        self.nhid = nhid\n",
    "        self.cell = LEMCell(ninp, nhid, dt)\n",
    "        self.classifier = nn.Linear(nhid, nout)\n",
    "        self.init_weights()\n",
    "\n",
    "    def init_weights(self):\n",
    "        for name, param in self.named_parameters():\n",
    "            if 'classifier' in name and 'weight' in name:\n",
    "                nn.init.kaiming_normal_(param.data)\n",
    "\n",
    "    def forward(self, input):\n",
    "        y = input.data.new(input.size(1), self.nhid).zero_()\n",
    "        z = input.data.new(input.size(1), self.nhid).zero_()\n",
    "        for x in input:\n",
    "            y, z = self.cell(x, y, z)\n",
    "        out = self.classifier(y)\n",
    "        return out"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "36d6fa55",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Toy problem data\n",
    "input_size = 256  # number of columns in a dataset\n",
    "hidden_size = 32  # number of neurons\n",
    "output_size = 256  \n",
    "sequence_length = 160  # number of sequences/ number of rows\n",
    "batch_size = 1\n",
    "num_epochs = 30000"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "519594c6",
   "metadata": {},
   "source": [
    "### importing PINN solution"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "2103e0ff",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Load the .mat file\n",
    "v_data = scipy.io.loadmat('v.mat')\n",
    "h_data = scipy.io.loadmat('h.mat')\n",
    "x_data = scipy.io.loadmat('x.mat')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "172f53d3",
   "metadata": {},
   "outputs": [],
   "source": [
    "x = x_data['X']\n",
    "u = h_data['h']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "bf954b1d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<torch._C.Generator at 0x7f6298438790>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Set random seed for reproducibility\n",
    "torch.manual_seed(40)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "cdabefdf",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "test data shape (256,)\n",
      "input data shape (160, 256)\n",
      "Target data shape (160, 256)\n"
     ]
    }
   ],
   "source": [
    "input_data = u[0:160,:]\n",
    "target_data = u[1:161, :]\n",
    "\n",
    "test_data = u[160, :]\n",
    "#test_target = u[161:201, :]\n",
    "\n",
    "print(\"test data shape\", test_data.shape)\n",
    "#print(\"test target shape\", test_target.shape)\n",
    "\n",
    "print(\"input data shape\",input_data.shape)\n",
    "print(\"Target data shape\",target_data.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "b32d98b1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "input tensor shape torch.Size([1, 160, 256])\n",
      "Target tensor shape torch.Size([1, 160, 256])\n"
     ]
    }
   ],
   "source": [
    "# Convert data to tensors\n",
    "input_tensor = torch.tensor(input_data).view(batch_size, sequence_length, input_size).float()\n",
    "target_tensor = torch.tensor(target_data).view(batch_size, sequence_length, output_size).float()\n",
    "\n",
    "print(\"input tensor shape\",input_tensor.shape)\n",
    "print(\"Target tensor shape\",target_tensor.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "b4c0af1d",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Convert test data to tensors\n",
    "test_tensor = torch.tensor(test_data).view(batch_size, 1, input_size).float()\n",
    "#test_target_tensor = torch.tensor(test_target).view(batch_size, 40, output_size).float()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "928ae47f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 10/30000, Loss: 0.456984\n",
      "Epoch: 20/30000, Loss: 0.271237\n",
      "Epoch: 30/30000, Loss: 0.167751\n",
      "Epoch: 40/30000, Loss: 0.103514\n",
      "Epoch: 50/30000, Loss: 0.065797\n",
      "Epoch: 60/30000, Loss: 0.046000\n",
      "Epoch: 70/30000, Loss: 0.036677\n",
      "Epoch: 80/30000, Loss: 0.032639\n",
      "Epoch: 90/30000, Loss: 0.031064\n",
      "Epoch: 100/30000, Loss: 0.030535\n",
      "Epoch: 110/30000, Loss: 0.030387\n",
      "Epoch: 120/30000, Loss: 0.030356\n",
      "Epoch: 130/30000, Loss: 0.030350\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/data/localhome/tkapoor/.local/lib/python3.8/site-packages/torch/nn/modules/loss.py:520: UserWarning: Using a target size (torch.Size([1, 160, 256])) that is different to the input size (torch.Size([160, 256])). This will likely lead to incorrect results due to broadcasting. Please ensure they have the same size.\n",
      "  return F.mse_loss(input, target, reduction=self.reduction)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 140/30000, Loss: 0.030349\n",
      "Epoch: 150/30000, Loss: 0.030349\n",
      "Epoch: 160/30000, Loss: 0.030348\n",
      "Epoch: 170/30000, Loss: 0.030348\n",
      "Epoch: 180/30000, Loss: 0.030348\n",
      "Epoch: 190/30000, Loss: 0.030348\n",
      "Epoch: 200/30000, Loss: 0.030348\n",
      "Epoch: 210/30000, Loss: 0.030348\n",
      "Epoch: 220/30000, Loss: 0.030348\n",
      "Epoch: 230/30000, Loss: 0.030348\n",
      "Epoch: 240/30000, Loss: 0.030348\n",
      "Epoch: 250/30000, Loss: 0.030348\n",
      "Epoch: 260/30000, Loss: 0.030348\n",
      "Epoch: 270/30000, Loss: 0.030348\n",
      "Epoch: 280/30000, Loss: 0.030348\n",
      "Epoch: 290/30000, Loss: 0.030348\n",
      "Epoch: 300/30000, Loss: 0.030348\n",
      "Epoch: 310/30000, Loss: 0.030348\n",
      "Epoch: 320/30000, Loss: 0.030348\n",
      "Epoch: 330/30000, Loss: 0.030348\n",
      "Epoch: 340/30000, Loss: 0.030348\n",
      "Epoch: 350/30000, Loss: 0.030348\n",
      "Epoch: 360/30000, Loss: 0.030348\n",
      "Epoch: 370/30000, Loss: 0.030347\n",
      "Epoch: 380/30000, Loss: 0.030347\n",
      "Epoch: 390/30000, Loss: 0.030347\n",
      "Epoch: 400/30000, Loss: 0.030347\n",
      "Epoch: 410/30000, Loss: 0.030346\n",
      "Epoch: 420/30000, Loss: 0.030343\n",
      "Epoch: 430/30000, Loss: 0.030054\n",
      "Epoch: 440/30000, Loss: 0.027426\n",
      "Epoch: 450/30000, Loss: 0.024804\n",
      "Epoch: 460/30000, Loss: 0.022633\n",
      "Epoch: 470/30000, Loss: 0.020873\n",
      "Epoch: 480/30000, Loss: 0.019428\n",
      "Epoch: 490/30000, Loss: 0.018214\n",
      "Epoch: 500/30000, Loss: 0.017174\n",
      "Epoch: 510/30000, Loss: 0.016267\n",
      "Epoch: 520/30000, Loss: 0.015464\n",
      "Epoch: 530/30000, Loss: 0.014744\n",
      "Epoch: 540/30000, Loss: 0.014092\n",
      "Epoch: 550/30000, Loss: 0.013496\n",
      "Epoch: 560/30000, Loss: 0.012944\n",
      "Epoch: 570/30000, Loss: 0.012431\n",
      "Epoch: 580/30000, Loss: 0.011950\n",
      "Epoch: 590/30000, Loss: 0.011501\n",
      "Epoch: 600/30000, Loss: 0.011081\n",
      "Epoch: 610/30000, Loss: 0.010688\n",
      "Epoch: 620/30000, Loss: 0.010398\n",
      "Epoch: 630/30000, Loss: 0.009982\n",
      "Epoch: 640/30000, Loss: 0.009648\n",
      "Epoch: 650/30000, Loss: 0.009341\n",
      "Epoch: 660/30000, Loss: 0.009045\n",
      "Epoch: 670/30000, Loss: 0.008766\n",
      "Epoch: 680/30000, Loss: 0.008501\n",
      "Epoch: 690/30000, Loss: 0.008249\n",
      "Epoch: 700/30000, Loss: 0.008009\n",
      "Epoch: 710/30000, Loss: 0.007780\n",
      "Epoch: 720/30000, Loss: 0.007562\n",
      "Epoch: 730/30000, Loss: 0.007353\n",
      "Epoch: 740/30000, Loss: 0.007153\n",
      "Epoch: 750/30000, Loss: 0.007022\n",
      "Epoch: 760/30000, Loss: 0.006781\n",
      "Epoch: 770/30000, Loss: 0.006615\n",
      "Epoch: 780/30000, Loss: 0.006444\n",
      "Epoch: 790/30000, Loss: 0.006278\n",
      "Epoch: 800/30000, Loss: 0.006120\n",
      "Epoch: 810/30000, Loss: 0.005971\n",
      "Epoch: 820/30000, Loss: 0.005827\n",
      "Epoch: 830/30000, Loss: 0.005688\n",
      "Epoch: 840/30000, Loss: 0.005555\n",
      "Epoch: 850/30000, Loss: 0.005427\n",
      "Epoch: 860/30000, Loss: 0.005303\n",
      "Epoch: 870/30000, Loss: 0.005200\n",
      "Epoch: 880/30000, Loss: 0.005074\n",
      "Epoch: 890/30000, Loss: 0.004960\n",
      "Epoch: 900/30000, Loss: 0.004850\n",
      "Epoch: 910/30000, Loss: 0.004746\n",
      "Epoch: 920/30000, Loss: 0.004645\n",
      "Epoch: 930/30000, Loss: 0.004548\n",
      "Epoch: 940/30000, Loss: 0.004459\n",
      "Epoch: 950/30000, Loss: 0.004387\n",
      "Epoch: 960/30000, Loss: 0.004292\n",
      "Epoch: 970/30000, Loss: 0.004196\n",
      "Epoch: 980/30000, Loss: 0.004110\n",
      "Epoch: 990/30000, Loss: 0.004027\n",
      "Epoch: 1000/30000, Loss: 0.003950\n",
      "Epoch: 1010/30000, Loss: 0.003875\n",
      "Epoch: 1020/30000, Loss: 0.003838\n",
      "Epoch: 1030/30000, Loss: 0.003740\n",
      "Epoch: 1040/30000, Loss: 0.003671\n",
      "Epoch: 1050/30000, Loss: 0.003595\n",
      "Epoch: 1060/30000, Loss: 0.003531\n",
      "Epoch: 1070/30000, Loss: 0.003466\n",
      "Epoch: 1080/30000, Loss: 0.003414\n",
      "Epoch: 1090/30000, Loss: 0.003346\n",
      "Epoch: 1100/30000, Loss: 0.003297\n",
      "Epoch: 1110/30000, Loss: 0.003231\n",
      "Epoch: 1120/30000, Loss: 0.003176\n",
      "Epoch: 1130/30000, Loss: 0.003126\n",
      "Epoch: 1140/30000, Loss: 0.003093\n",
      "Epoch: 1150/30000, Loss: 0.003025\n",
      "Epoch: 1160/30000, Loss: 0.002970\n",
      "Epoch: 1170/30000, Loss: 0.002943\n",
      "Epoch: 1180/30000, Loss: 0.002879\n",
      "Epoch: 1190/30000, Loss: 0.002829\n",
      "Epoch: 1200/30000, Loss: 0.002805\n",
      "Epoch: 1210/30000, Loss: 0.002743\n",
      "Epoch: 1220/30000, Loss: 0.002699\n",
      "Epoch: 1230/30000, Loss: 0.002672\n",
      "Epoch: 1240/30000, Loss: 0.002618\n",
      "Epoch: 1250/30000, Loss: 0.002587\n",
      "Epoch: 1260/30000, Loss: 0.002544\n",
      "Epoch: 1270/30000, Loss: 0.002503\n",
      "Epoch: 1280/30000, Loss: 0.002467\n",
      "Epoch: 1290/30000, Loss: 0.002520\n",
      "Epoch: 1300/30000, Loss: 0.002401\n",
      "Epoch: 1310/30000, Loss: 0.002364\n",
      "Epoch: 1320/30000, Loss: 0.002330\n",
      "Epoch: 1330/30000, Loss: 0.002297\n",
      "Epoch: 1340/30000, Loss: 0.002264\n",
      "Epoch: 1350/30000, Loss: 0.002233\n",
      "Epoch: 1360/30000, Loss: 0.002221\n",
      "Epoch: 1370/30000, Loss: 0.002190\n",
      "Epoch: 1380/30000, Loss: 0.002145\n",
      "Epoch: 1390/30000, Loss: 0.002121\n",
      "Epoch: 1400/30000, Loss: 0.002090\n",
      "Epoch: 1410/30000, Loss: 0.002060\n",
      "Epoch: 1420/30000, Loss: 0.002033\n",
      "Epoch: 1430/30000, Loss: 0.002020\n",
      "Epoch: 1440/30000, Loss: 0.001984\n",
      "Epoch: 1450/30000, Loss: 0.001960\n",
      "Epoch: 1460/30000, Loss: 0.001933\n",
      "Epoch: 1470/30000, Loss: 0.001907\n",
      "Epoch: 1480/30000, Loss: 0.001886\n",
      "Epoch: 1490/30000, Loss: 0.001917\n",
      "Epoch: 1500/30000, Loss: 0.001862\n",
      "Epoch: 1510/30000, Loss: 0.001826\n",
      "Epoch: 1520/30000, Loss: 0.001800\n",
      "Epoch: 1530/30000, Loss: 0.001772\n",
      "Epoch: 1540/30000, Loss: 0.001755\n",
      "Epoch: 1550/30000, Loss: 0.001819\n",
      "Epoch: 1560/30000, Loss: 0.001719\n",
      "Epoch: 1570/30000, Loss: 0.001702\n",
      "Epoch: 1580/30000, Loss: 0.001672\n",
      "Epoch: 1590/30000, Loss: 0.001652\n",
      "Epoch: 1600/30000, Loss: 0.001634\n",
      "Epoch: 1610/30000, Loss: 0.001616\n",
      "Epoch: 1620/30000, Loss: 0.001629\n",
      "Epoch: 1630/30000, Loss: 0.001593\n",
      "Epoch: 1640/30000, Loss: 0.001582\n",
      "Epoch: 1650/30000, Loss: 0.001550\n",
      "Epoch: 1660/30000, Loss: 0.001530\n",
      "Epoch: 1670/30000, Loss: 0.001515\n",
      "Epoch: 1680/30000, Loss: 0.001497\n",
      "Epoch: 1690/30000, Loss: 0.001483\n",
      "Epoch: 1700/30000, Loss: 0.001649\n",
      "Epoch: 1710/30000, Loss: 0.001474\n",
      "Epoch: 1720/30000, Loss: 0.001437\n",
      "Epoch: 1730/30000, Loss: 0.001427\n",
      "Epoch: 1740/30000, Loss: 0.001409\n",
      "Epoch: 1750/30000, Loss: 0.001393\n",
      "Epoch: 1760/30000, Loss: 0.001379\n",
      "Epoch: 1770/30000, Loss: 0.001365\n",
      "Epoch: 1780/30000, Loss: 0.001351\n",
      "Epoch: 1790/30000, Loss: 0.001340\n",
      "Epoch: 1800/30000, Loss: 0.001438\n",
      "Epoch: 1810/30000, Loss: 0.001349\n",
      "Epoch: 1820/30000, Loss: 0.001309\n",
      "Epoch: 1830/30000, Loss: 0.001297\n",
      "Epoch: 1840/30000, Loss: 0.001277\n",
      "Epoch: 1850/30000, Loss: 0.001265\n",
      "Epoch: 1860/30000, Loss: 0.001253\n",
      "Epoch: 1870/30000, Loss: 0.001242\n",
      "Epoch: 1880/30000, Loss: 0.001267\n",
      "Epoch: 1890/30000, Loss: 0.001226\n",
      "Epoch: 1900/30000, Loss: 0.001231\n",
      "Epoch: 1910/30000, Loss: 0.001208\n",
      "Epoch: 1920/30000, Loss: 0.001190\n",
      "Epoch: 1930/30000, Loss: 0.001176\n",
      "Epoch: 1940/30000, Loss: 0.001171\n",
      "Epoch: 1950/30000, Loss: 0.001201\n",
      "Epoch: 1960/30000, Loss: 0.001148\n",
      "Epoch: 1970/30000, Loss: 0.001141\n",
      "Epoch: 1980/30000, Loss: 0.001131\n",
      "Epoch: 1990/30000, Loss: 0.001147\n",
      "Epoch: 2000/30000, Loss: 0.001109\n",
      "Epoch: 2010/30000, Loss: 0.001119\n",
      "Epoch: 2020/30000, Loss: 0.001103\n",
      "Epoch: 2030/30000, Loss: 0.001096\n",
      "Epoch: 2040/30000, Loss: 0.001078\n",
      "Epoch: 2050/30000, Loss: 0.001064\n",
      "Epoch: 2060/30000, Loss: 0.001077\n",
      "Epoch: 2070/30000, Loss: 0.001052\n",
      "Epoch: 2080/30000, Loss: 0.001075\n",
      "Epoch: 2090/30000, Loss: 0.001041\n",
      "Epoch: 2100/30000, Loss: 0.001023\n",
      "Epoch: 2110/30000, Loss: 0.001015\n",
      "Epoch: 2120/30000, Loss: 0.001008\n",
      "Epoch: 2130/30000, Loss: 0.001000\n",
      "Epoch: 2140/30000, Loss: 0.000997\n",
      "Epoch: 2150/30000, Loss: 0.001107\n",
      "Epoch: 2160/30000, Loss: 0.001024\n",
      "Epoch: 2170/30000, Loss: 0.000976\n",
      "Epoch: 2180/30000, Loss: 0.000965\n",
      "Epoch: 2190/30000, Loss: 0.000958\n",
      "Epoch: 2200/30000, Loss: 0.000953\n",
      "Epoch: 2210/30000, Loss: 0.000944\n",
      "Epoch: 2220/30000, Loss: 0.000938\n",
      "Epoch: 2230/30000, Loss: 0.001005\n",
      "Epoch: 2240/30000, Loss: 0.001010\n",
      "Epoch: 2250/30000, Loss: 0.000919\n",
      "Epoch: 2260/30000, Loss: 0.000929\n",
      "Epoch: 2270/30000, Loss: 0.000908\n",
      "Epoch: 2280/30000, Loss: 0.000902\n",
      "Epoch: 2290/30000, Loss: 0.000896\n",
      "Epoch: 2300/30000, Loss: 0.000890\n",
      "Epoch: 2310/30000, Loss: 0.000884\n",
      "Epoch: 2320/30000, Loss: 0.000878\n",
      "Epoch: 2330/30000, Loss: 0.000873\n",
      "Epoch: 2340/30000, Loss: 0.000914\n",
      "Epoch: 2350/30000, Loss: 0.000957\n",
      "Epoch: 2360/30000, Loss: 0.000873\n",
      "Epoch: 2370/30000, Loss: 0.000857\n",
      "Epoch: 2380/30000, Loss: 0.000856\n",
      "Epoch: 2390/30000, Loss: 0.000844\n",
      "Epoch: 2400/30000, Loss: 0.000839\n",
      "Epoch: 2410/30000, Loss: 0.000833\n",
      "Epoch: 2420/30000, Loss: 0.000828\n",
      "Epoch: 2430/30000, Loss: 0.000823\n",
      "Epoch: 2440/30000, Loss: 0.000819\n",
      "Epoch: 2450/30000, Loss: 0.000814\n",
      "Epoch: 2460/30000, Loss: 0.000810\n",
      "Epoch: 2470/30000, Loss: 0.000805\n",
      "Epoch: 2480/30000, Loss: 0.000919\n",
      "Epoch: 2490/30000, Loss: 0.000940\n",
      "Epoch: 2500/30000, Loss: 0.000838\n",
      "Epoch: 2510/30000, Loss: 0.000814\n",
      "Epoch: 2520/30000, Loss: 0.000795\n",
      "Epoch: 2530/30000, Loss: 0.000784\n",
      "Epoch: 2540/30000, Loss: 0.000778\n",
      "Epoch: 2550/30000, Loss: 0.000774\n",
      "Epoch: 2560/30000, Loss: 0.000770\n",
      "Epoch: 2570/30000, Loss: 0.000766\n",
      "Epoch: 2580/30000, Loss: 0.000762\n",
      "Epoch: 2590/30000, Loss: 0.000759\n",
      "Epoch: 2600/30000, Loss: 0.000755\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 2610/30000, Loss: 0.000752\n",
      "Epoch: 2620/30000, Loss: 0.000748\n",
      "Epoch: 2630/30000, Loss: 0.000748\n",
      "Epoch: 2640/30000, Loss: 0.001051\n",
      "Epoch: 2650/30000, Loss: 0.000745\n",
      "Epoch: 2660/30000, Loss: 0.000758\n",
      "Epoch: 2670/30000, Loss: 0.000744\n",
      "Epoch: 2680/30000, Loss: 0.000729\n",
      "Epoch: 2690/30000, Loss: 0.000728\n",
      "Epoch: 2700/30000, Loss: 0.000724\n",
      "Epoch: 2710/30000, Loss: 0.000720\n",
      "Epoch: 2720/30000, Loss: 0.000717\n",
      "Epoch: 2730/30000, Loss: 0.000714\n",
      "Epoch: 2740/30000, Loss: 0.000711\n",
      "Epoch: 2750/30000, Loss: 0.000708\n",
      "Epoch: 2760/30000, Loss: 0.000707\n",
      "Epoch: 2770/30000, Loss: 0.000871\n",
      "Epoch: 2780/30000, Loss: 0.000807\n",
      "Epoch: 2790/30000, Loss: 0.000709\n",
      "Epoch: 2800/30000, Loss: 0.000712\n",
      "Epoch: 2810/30000, Loss: 0.000693\n",
      "Epoch: 2820/30000, Loss: 0.000693\n",
      "Epoch: 2830/30000, Loss: 0.000689\n",
      "Epoch: 2840/30000, Loss: 0.000686\n",
      "Epoch: 2850/30000, Loss: 0.000683\n",
      "Epoch: 2860/30000, Loss: 0.000681\n",
      "Epoch: 2870/30000, Loss: 0.000678\n",
      "Epoch: 2880/30000, Loss: 0.000676\n",
      "Epoch: 2890/30000, Loss: 0.000684\n",
      "Epoch: 2900/30000, Loss: 0.000926\n",
      "Epoch: 2910/30000, Loss: 0.000763\n",
      "Epoch: 2920/30000, Loss: 0.000669\n",
      "Epoch: 2930/30000, Loss: 0.000676\n",
      "Epoch: 2940/30000, Loss: 0.000667\n",
      "Epoch: 2950/30000, Loss: 0.000663\n",
      "Epoch: 2960/30000, Loss: 0.000660\n",
      "Epoch: 2970/30000, Loss: 0.000658\n",
      "Epoch: 2980/30000, Loss: 0.000656\n",
      "Epoch: 2990/30000, Loss: 0.000654\n",
      "Epoch: 3000/30000, Loss: 0.000652\n",
      "Epoch: 3010/30000, Loss: 0.000650\n",
      "Epoch: 3020/30000, Loss: 0.000649\n",
      "Epoch: 3030/30000, Loss: 0.000650\n",
      "Epoch: 3040/30000, Loss: 0.000924\n",
      "Epoch: 3050/30000, Loss: 0.000691\n",
      "Epoch: 3060/30000, Loss: 0.000684\n",
      "Epoch: 3070/30000, Loss: 0.000645\n",
      "Epoch: 3080/30000, Loss: 0.000644\n",
      "Epoch: 3090/30000, Loss: 0.000639\n",
      "Epoch: 3100/30000, Loss: 0.000636\n",
      "Epoch: 3110/30000, Loss: 0.000634\n",
      "Epoch: 3120/30000, Loss: 0.000633\n",
      "Epoch: 3130/30000, Loss: 0.000631\n",
      "Epoch: 3140/30000, Loss: 0.000629\n",
      "Epoch: 3150/30000, Loss: 0.000628\n",
      "Epoch: 3160/30000, Loss: 0.000628\n",
      "Epoch: 3170/30000, Loss: 0.000739\n",
      "Epoch: 3180/30000, Loss: 0.000726\n",
      "Epoch: 3190/30000, Loss: 0.000635\n",
      "Epoch: 3200/30000, Loss: 0.000630\n",
      "Epoch: 3210/30000, Loss: 0.000627\n",
      "Epoch: 3220/30000, Loss: 0.000619\n",
      "Epoch: 3230/30000, Loss: 0.000618\n",
      "Epoch: 3240/30000, Loss: 0.000616\n",
      "Epoch: 3250/30000, Loss: 0.000615\n",
      "Epoch: 3260/30000, Loss: 0.000614\n",
      "Epoch: 3270/30000, Loss: 0.000613\n",
      "Epoch: 3280/30000, Loss: 0.000612\n",
      "Epoch: 3290/30000, Loss: 0.000665\n",
      "Epoch: 3300/30000, Loss: 0.000611\n",
      "Epoch: 3310/30000, Loss: 0.000654\n",
      "Epoch: 3320/30000, Loss: 0.000628\n",
      "Epoch: 3330/30000, Loss: 0.000610\n",
      "Epoch: 3340/30000, Loss: 0.000606\n",
      "Epoch: 3350/30000, Loss: 0.000605\n",
      "Epoch: 3360/30000, Loss: 0.000603\n",
      "Epoch: 3370/30000, Loss: 0.000602\n",
      "Epoch: 3380/30000, Loss: 0.000601\n",
      "Epoch: 3390/30000, Loss: 0.000600\n",
      "Epoch: 3400/30000, Loss: 0.000645\n",
      "Epoch: 3410/30000, Loss: 0.000602\n",
      "Epoch: 3420/30000, Loss: 0.000669\n",
      "Epoch: 3430/30000, Loss: 0.000606\n",
      "Epoch: 3440/30000, Loss: 0.000598\n",
      "Epoch: 3450/30000, Loss: 0.000598\n",
      "Epoch: 3460/30000, Loss: 0.000595\n",
      "Epoch: 3470/30000, Loss: 0.000593\n",
      "Epoch: 3480/30000, Loss: 0.000592\n",
      "Epoch: 3490/30000, Loss: 0.000591\n",
      "Epoch: 3500/30000, Loss: 0.000590\n",
      "Epoch: 3510/30000, Loss: 0.000590\n",
      "Epoch: 3520/30000, Loss: 0.000604\n",
      "Epoch: 3530/30000, Loss: 0.000809\n",
      "Epoch: 3540/30000, Loss: 0.000589\n",
      "Epoch: 3550/30000, Loss: 0.000599\n",
      "Epoch: 3560/30000, Loss: 0.000597\n",
      "Epoch: 3570/30000, Loss: 0.000589\n",
      "Epoch: 3580/30000, Loss: 0.000586\n",
      "Epoch: 3590/30000, Loss: 0.000584\n",
      "Epoch: 3600/30000, Loss: 0.000583\n",
      "Epoch: 3610/30000, Loss: 0.000582\n",
      "Epoch: 3620/30000, Loss: 0.000582\n",
      "Epoch: 3630/30000, Loss: 0.000588\n",
      "Epoch: 3640/30000, Loss: 0.000799\n",
      "Epoch: 3650/30000, Loss: 0.000662\n",
      "Epoch: 3660/30000, Loss: 0.000604\n",
      "Epoch: 3670/30000, Loss: 0.000582\n",
      "Epoch: 3680/30000, Loss: 0.000579\n",
      "Epoch: 3690/30000, Loss: 0.000578\n",
      "Epoch: 3700/30000, Loss: 0.000578\n",
      "Epoch: 3710/30000, Loss: 0.000576\n",
      "Epoch: 3720/30000, Loss: 0.000576\n",
      "Epoch: 3730/30000, Loss: 0.000578\n",
      "Epoch: 3740/30000, Loss: 0.000690\n",
      "Epoch: 3750/30000, Loss: 0.000614\n",
      "Epoch: 3760/30000, Loss: 0.000615\n",
      "Epoch: 3770/30000, Loss: 0.000589\n",
      "Epoch: 3780/30000, Loss: 0.000579\n",
      "Epoch: 3790/30000, Loss: 0.000574\n",
      "Epoch: 3800/30000, Loss: 0.000571\n",
      "Epoch: 3810/30000, Loss: 0.000571\n",
      "Epoch: 3820/30000, Loss: 0.000570\n",
      "Epoch: 3830/30000, Loss: 0.000570\n",
      "Epoch: 3840/30000, Loss: 0.000589\n",
      "Epoch: 3850/30000, Loss: 0.000763\n",
      "Epoch: 3860/30000, Loss: 0.000570\n",
      "Epoch: 3870/30000, Loss: 0.000585\n",
      "Epoch: 3880/30000, Loss: 0.000579\n",
      "Epoch: 3890/30000, Loss: 0.000570\n",
      "Epoch: 3900/30000, Loss: 0.000568\n",
      "Epoch: 3910/30000, Loss: 0.000567\n",
      "Epoch: 3920/30000, Loss: 0.000566\n",
      "Epoch: 3930/30000, Loss: 0.000565\n",
      "Epoch: 3940/30000, Loss: 0.000565\n",
      "Epoch: 3950/30000, Loss: 0.000565\n",
      "Epoch: 3960/30000, Loss: 0.000568\n",
      "Epoch: 3970/30000, Loss: 0.000859\n",
      "Epoch: 3980/30000, Loss: 0.000670\n",
      "Epoch: 3990/30000, Loss: 0.000569\n",
      "Epoch: 4000/30000, Loss: 0.000582\n",
      "Epoch: 4010/30000, Loss: 0.000564\n",
      "Epoch: 4020/30000, Loss: 0.000563\n",
      "Epoch: 4030/30000, Loss: 0.000562\n",
      "Epoch: 4040/30000, Loss: 0.000562\n",
      "Epoch: 4050/30000, Loss: 0.000561\n",
      "Epoch: 4060/30000, Loss: 0.000561\n",
      "Epoch: 4070/30000, Loss: 0.000560\n",
      "Epoch: 4080/30000, Loss: 0.000560\n",
      "Epoch: 4090/30000, Loss: 0.000560\n",
      "Epoch: 4100/30000, Loss: 0.000585\n",
      "Epoch: 4110/30000, Loss: 0.000709\n",
      "Epoch: 4120/30000, Loss: 0.000562\n",
      "Epoch: 4130/30000, Loss: 0.000575\n",
      "Epoch: 4140/30000, Loss: 0.000569\n",
      "Epoch: 4150/30000, Loss: 0.000562\n",
      "Epoch: 4160/30000, Loss: 0.000559\n",
      "Epoch: 4170/30000, Loss: 0.000558\n",
      "Epoch: 4180/30000, Loss: 0.000557\n",
      "Epoch: 4190/30000, Loss: 0.000557\n",
      "Epoch: 4200/30000, Loss: 0.000556\n",
      "Epoch: 4210/30000, Loss: 0.000556\n",
      "Epoch: 4220/30000, Loss: 0.000563\n",
      "Epoch: 4230/30000, Loss: 0.000877\n",
      "Epoch: 4240/30000, Loss: 0.000620\n",
      "Epoch: 4250/30000, Loss: 0.000560\n",
      "Epoch: 4260/30000, Loss: 0.000571\n",
      "Epoch: 4270/30000, Loss: 0.000558\n",
      "Epoch: 4280/30000, Loss: 0.000555\n",
      "Epoch: 4290/30000, Loss: 0.000554\n",
      "Epoch: 4300/30000, Loss: 0.000554\n",
      "Epoch: 4310/30000, Loss: 0.000554\n",
      "Epoch: 4320/30000, Loss: 0.000553\n",
      "Epoch: 4330/30000, Loss: 0.000553\n",
      "Epoch: 4340/30000, Loss: 0.000553\n",
      "Epoch: 4350/30000, Loss: 0.000558\n",
      "Epoch: 4360/30000, Loss: 0.000764\n",
      "Epoch: 4370/30000, Loss: 0.000665\n",
      "Epoch: 4380/30000, Loss: 0.000589\n",
      "Epoch: 4390/30000, Loss: 0.000556\n",
      "Epoch: 4400/30000, Loss: 0.000552\n",
      "Epoch: 4410/30000, Loss: 0.000551\n",
      "Epoch: 4420/30000, Loss: 0.000551\n",
      "Epoch: 4430/30000, Loss: 0.000551\n",
      "Epoch: 4440/30000, Loss: 0.000551\n",
      "Epoch: 4450/30000, Loss: 0.000551\n",
      "Epoch: 4460/30000, Loss: 0.000552\n",
      "Epoch: 4470/30000, Loss: 0.000591\n",
      "Epoch: 4480/30000, Loss: 0.000627\n",
      "Epoch: 4490/30000, Loss: 0.000553\n",
      "Epoch: 4500/30000, Loss: 0.000551\n",
      "Epoch: 4510/30000, Loss: 0.000549\n",
      "Epoch: 4520/30000, Loss: 0.000542\n",
      "Epoch: 4530/30000, Loss: 0.000739\n",
      "Epoch: 4540/30000, Loss: 0.000595\n",
      "Epoch: 4550/30000, Loss: 0.000491\n",
      "Epoch: 4560/30000, Loss: 0.000446\n",
      "Epoch: 4570/30000, Loss: 0.000419\n",
      "Epoch: 4580/30000, Loss: 0.000399\n",
      "Epoch: 4590/30000, Loss: 0.000382\n",
      "Epoch: 4600/30000, Loss: 0.000367\n",
      "Epoch: 4610/30000, Loss: 0.000354\n",
      "Epoch: 4620/30000, Loss: 0.000343\n",
      "Epoch: 4630/30000, Loss: 0.000334\n",
      "Epoch: 4640/30000, Loss: 0.000371\n",
      "Epoch: 4650/30000, Loss: 0.000356\n",
      "Epoch: 4660/30000, Loss: 0.000391\n",
      "Epoch: 4670/30000, Loss: 0.000329\n",
      "Epoch: 4680/30000, Loss: 0.000299\n",
      "Epoch: 4690/30000, Loss: 0.000297\n",
      "Epoch: 4700/30000, Loss: 0.000289\n",
      "Epoch: 4710/30000, Loss: 0.000283\n",
      "Epoch: 4720/30000, Loss: 0.000277\n",
      "Epoch: 4730/30000, Loss: 0.000273\n",
      "Epoch: 4740/30000, Loss: 0.000268\n",
      "Epoch: 4750/30000, Loss: 0.000264\n",
      "Epoch: 4760/30000, Loss: 0.000261\n",
      "Epoch: 4770/30000, Loss: 0.000283\n",
      "Epoch: 4780/30000, Loss: 0.000460\n",
      "Epoch: 4790/30000, Loss: 0.000258\n",
      "Epoch: 4800/30000, Loss: 0.000281\n",
      "Epoch: 4810/30000, Loss: 0.000253\n",
      "Epoch: 4820/30000, Loss: 0.000240\n",
      "Epoch: 4830/30000, Loss: 0.000237\n",
      "Epoch: 4840/30000, Loss: 0.000234\n",
      "Epoch: 4850/30000, Loss: 0.000232\n",
      "Epoch: 4860/30000, Loss: 0.000229\n",
      "Epoch: 4870/30000, Loss: 0.000226\n",
      "Epoch: 4880/30000, Loss: 0.000224\n",
      "Epoch: 4890/30000, Loss: 0.000221\n",
      "Epoch: 4900/30000, Loss: 0.000222\n",
      "Epoch: 4910/30000, Loss: 0.000581\n",
      "Epoch: 4920/30000, Loss: 0.000352\n",
      "Epoch: 4930/30000, Loss: 0.000259\n",
      "Epoch: 4940/30000, Loss: 0.000220\n",
      "Epoch: 4950/30000, Loss: 0.000218\n",
      "Epoch: 4960/30000, Loss: 0.000208\n",
      "Epoch: 4970/30000, Loss: 0.000206\n",
      "Epoch: 4980/30000, Loss: 0.000204\n",
      "Epoch: 4990/30000, Loss: 0.000202\n",
      "Epoch: 5000/30000, Loss: 0.000200\n",
      "Epoch: 5010/30000, Loss: 0.000198\n",
      "Epoch: 5020/30000, Loss: 0.000197\n",
      "Epoch: 5030/30000, Loss: 0.000195\n",
      "Epoch: 5040/30000, Loss: 0.000193\n",
      "Epoch: 5050/30000, Loss: 0.000192\n",
      "Epoch: 5060/30000, Loss: 0.000230\n",
      "Epoch: 5070/30000, Loss: 0.000266\n",
      "Epoch: 5080/30000, Loss: 0.000234\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 5090/30000, Loss: 0.000222\n",
      "Epoch: 5100/30000, Loss: 0.000187\n",
      "Epoch: 5110/30000, Loss: 0.000185\n",
      "Epoch: 5120/30000, Loss: 0.000183\n",
      "Epoch: 5130/30000, Loss: 0.000189\n",
      "Epoch: 5140/30000, Loss: 0.000184\n",
      "Epoch: 5150/30000, Loss: 0.000181\n",
      "Epoch: 5160/30000, Loss: 0.000179\n",
      "Epoch: 5170/30000, Loss: 0.000177\n",
      "Epoch: 5180/30000, Loss: 0.000176\n",
      "Epoch: 5190/30000, Loss: 0.000181\n",
      "Epoch: 5200/30000, Loss: 0.000465\n",
      "Epoch: 5210/30000, Loss: 0.000314\n",
      "Epoch: 5220/30000, Loss: 0.000183\n",
      "Epoch: 5230/30000, Loss: 0.000176\n",
      "Epoch: 5240/30000, Loss: 0.000178\n",
      "Epoch: 5250/30000, Loss: 0.000173\n",
      "Epoch: 5260/30000, Loss: 0.000170\n",
      "Epoch: 5270/30000, Loss: 0.000168\n",
      "Epoch: 5280/30000, Loss: 0.000167\n",
      "Epoch: 5290/30000, Loss: 0.000166\n",
      "Epoch: 5300/30000, Loss: 0.000165\n",
      "Epoch: 5310/30000, Loss: 0.000165\n",
      "Epoch: 5320/30000, Loss: 0.000165\n",
      "Epoch: 5330/30000, Loss: 0.000288\n",
      "Epoch: 5340/30000, Loss: 0.000225\n",
      "Epoch: 5350/30000, Loss: 0.000234\n",
      "Epoch: 5360/30000, Loss: 0.000162\n",
      "Epoch: 5370/30000, Loss: 0.000169\n",
      "Epoch: 5380/30000, Loss: 0.000164\n",
      "Epoch: 5390/30000, Loss: 0.000160\n",
      "Epoch: 5400/30000, Loss: 0.000159\n",
      "Epoch: 5410/30000, Loss: 0.000158\n",
      "Epoch: 5420/30000, Loss: 0.000158\n",
      "Epoch: 5430/30000, Loss: 0.000157\n",
      "Epoch: 5440/30000, Loss: 0.000156\n",
      "Epoch: 5450/30000, Loss: 0.000156\n",
      "Epoch: 5460/30000, Loss: 0.000159\n",
      "Epoch: 5470/30000, Loss: 0.000347\n",
      "Epoch: 5480/30000, Loss: 0.000249\n",
      "Epoch: 5490/30000, Loss: 0.000214\n",
      "Epoch: 5500/30000, Loss: 0.000161\n",
      "Epoch: 5510/30000, Loss: 0.000152\n",
      "Epoch: 5520/30000, Loss: 0.000152\n",
      "Epoch: 5530/30000, Loss: 0.000151\n",
      "Epoch: 5540/30000, Loss: 0.000151\n",
      "Epoch: 5550/30000, Loss: 0.000151\n",
      "Epoch: 5560/30000, Loss: 0.000150\n",
      "Epoch: 5570/30000, Loss: 0.000149\n",
      "Epoch: 5580/30000, Loss: 0.000150\n",
      "Epoch: 5590/30000, Loss: 0.000177\n",
      "Epoch: 5600/30000, Loss: 0.000371\n",
      "Epoch: 5610/30000, Loss: 0.000152\n",
      "Epoch: 5620/30000, Loss: 0.000154\n",
      "Epoch: 5630/30000, Loss: 0.000158\n",
      "Epoch: 5640/30000, Loss: 0.000152\n",
      "Epoch: 5650/30000, Loss: 0.000148\n",
      "Epoch: 5660/30000, Loss: 0.000146\n",
      "Epoch: 5670/30000, Loss: 0.000145\n",
      "Epoch: 5680/30000, Loss: 0.000145\n",
      "Epoch: 5690/30000, Loss: 0.000144\n",
      "Epoch: 5700/30000, Loss: 0.000144\n",
      "Epoch: 5710/30000, Loss: 0.000144\n",
      "Epoch: 5720/30000, Loss: 0.000186\n",
      "Epoch: 5730/30000, Loss: 0.000248\n",
      "Epoch: 5740/30000, Loss: 0.000199\n",
      "Epoch: 5750/30000, Loss: 0.000178\n",
      "Epoch: 5760/30000, Loss: 0.000142\n",
      "Epoch: 5770/30000, Loss: 0.000145\n",
      "Epoch: 5780/30000, Loss: 0.000143\n",
      "Epoch: 5790/30000, Loss: 0.000142\n",
      "Epoch: 5800/30000, Loss: 0.000141\n",
      "Epoch: 5810/30000, Loss: 0.000140\n",
      "Epoch: 5820/30000, Loss: 0.000140\n",
      "Epoch: 5830/30000, Loss: 0.000140\n",
      "Epoch: 5840/30000, Loss: 0.000139\n",
      "Epoch: 5850/30000, Loss: 0.000139\n",
      "Epoch: 5860/30000, Loss: 0.000141\n",
      "Epoch: 5870/30000, Loss: 0.000287\n",
      "Epoch: 5880/30000, Loss: 0.000222\n",
      "Epoch: 5890/30000, Loss: 0.000205\n",
      "Epoch: 5900/30000, Loss: 0.000138\n",
      "Epoch: 5910/30000, Loss: 0.000146\n",
      "Epoch: 5920/30000, Loss: 0.000140\n",
      "Epoch: 5930/30000, Loss: 0.000137\n",
      "Epoch: 5940/30000, Loss: 0.000136\n",
      "Epoch: 5950/30000, Loss: 0.000136\n",
      "Epoch: 5960/30000, Loss: 0.000136\n",
      "Epoch: 5970/30000, Loss: 0.000136\n",
      "Epoch: 5980/30000, Loss: 0.000135\n",
      "Epoch: 5990/30000, Loss: 0.000135\n",
      "Epoch: 6000/30000, Loss: 0.000135\n",
      "Epoch: 6010/30000, Loss: 0.000140\n",
      "Epoch: 6020/30000, Loss: 0.000458\n",
      "Epoch: 6030/30000, Loss: 0.000298\n",
      "Epoch: 6040/30000, Loss: 0.000139\n",
      "Epoch: 6050/30000, Loss: 0.000147\n",
      "Epoch: 6060/30000, Loss: 0.000141\n",
      "Epoch: 6070/30000, Loss: 0.000134\n",
      "Epoch: 6080/30000, Loss: 0.000133\n",
      "Epoch: 6090/30000, Loss: 0.000133\n",
      "Epoch: 6100/30000, Loss: 0.000132\n",
      "Epoch: 6110/30000, Loss: 0.000132\n",
      "Epoch: 6120/30000, Loss: 0.000132\n",
      "Epoch: 6130/30000, Loss: 0.000132\n",
      "Epoch: 6140/30000, Loss: 0.000131\n",
      "Epoch: 6150/30000, Loss: 0.000131\n",
      "Epoch: 6160/30000, Loss: 0.000136\n",
      "Epoch: 6170/30000, Loss: 0.000482\n",
      "Epoch: 6180/30000, Loss: 0.000295\n",
      "Epoch: 6190/30000, Loss: 0.000132\n",
      "Epoch: 6200/30000, Loss: 0.000152\n",
      "Epoch: 6210/30000, Loss: 0.000133\n",
      "Epoch: 6220/30000, Loss: 0.000130\n",
      "Epoch: 6230/30000, Loss: 0.000130\n",
      "Epoch: 6240/30000, Loss: 0.000130\n",
      "Epoch: 6250/30000, Loss: 0.000129\n",
      "Epoch: 6260/30000, Loss: 0.000129\n",
      "Epoch: 6270/30000, Loss: 0.000129\n",
      "Epoch: 6280/30000, Loss: 0.000129\n",
      "Epoch: 6290/30000, Loss: 0.000128\n",
      "Epoch: 6300/30000, Loss: 0.000128\n",
      "Epoch: 6310/30000, Loss: 0.000130\n",
      "Epoch: 6320/30000, Loss: 0.000238\n",
      "Epoch: 6330/30000, Loss: 0.000144\n",
      "Epoch: 6340/30000, Loss: 0.000213\n",
      "Epoch: 6350/30000, Loss: 0.000140\n",
      "Epoch: 6360/30000, Loss: 0.000129\n",
      "Epoch: 6370/30000, Loss: 0.000130\n",
      "Epoch: 6380/30000, Loss: 0.000128\n",
      "Epoch: 6390/30000, Loss: 0.000127\n",
      "Epoch: 6400/30000, Loss: 0.000127\n",
      "Epoch: 6410/30000, Loss: 0.000126\n",
      "Epoch: 6420/30000, Loss: 0.000126\n",
      "Epoch: 6430/30000, Loss: 0.000126\n",
      "Epoch: 6440/30000, Loss: 0.000126\n",
      "Epoch: 6450/30000, Loss: 0.000126\n",
      "Epoch: 6460/30000, Loss: 0.000149\n",
      "Epoch: 6470/30000, Loss: 0.000461\n",
      "Epoch: 6480/30000, Loss: 0.000132\n",
      "Epoch: 6490/30000, Loss: 0.000144\n",
      "Epoch: 6500/30000, Loss: 0.000140\n",
      "Epoch: 6510/30000, Loss: 0.000127\n",
      "Epoch: 6520/30000, Loss: 0.000125\n",
      "Epoch: 6530/30000, Loss: 0.000124\n",
      "Epoch: 6540/30000, Loss: 0.000124\n",
      "Epoch: 6550/30000, Loss: 0.000124\n",
      "Epoch: 6560/30000, Loss: 0.000124\n",
      "Epoch: 6570/30000, Loss: 0.000124\n",
      "Epoch: 6580/30000, Loss: 0.000124\n",
      "Epoch: 6590/30000, Loss: 0.000124\n",
      "Epoch: 6600/30000, Loss: 0.000150\n",
      "Epoch: 6610/30000, Loss: 0.000423\n",
      "Epoch: 6620/30000, Loss: 0.000131\n",
      "Epoch: 6630/30000, Loss: 0.000134\n",
      "Epoch: 6640/30000, Loss: 0.000137\n",
      "Epoch: 6650/30000, Loss: 0.000128\n",
      "Epoch: 6660/30000, Loss: 0.000124\n",
      "Epoch: 6670/30000, Loss: 0.000123\n",
      "Epoch: 6680/30000, Loss: 0.000123\n",
      "Epoch: 6690/30000, Loss: 0.000122\n",
      "Epoch: 6700/30000, Loss: 0.000122\n",
      "Epoch: 6710/30000, Loss: 0.000122\n",
      "Epoch: 6720/30000, Loss: 0.000122\n",
      "Epoch: 6730/30000, Loss: 0.000122\n",
      "Epoch: 6740/30000, Loss: 0.000141\n",
      "Epoch: 6750/30000, Loss: 0.000558\n",
      "Epoch: 6760/30000, Loss: 0.000125\n",
      "Epoch: 6770/30000, Loss: 0.000173\n",
      "Epoch: 6780/30000, Loss: 0.000124\n",
      "Epoch: 6790/30000, Loss: 0.000125\n",
      "Epoch: 6800/30000, Loss: 0.000123\n",
      "Epoch: 6810/30000, Loss: 0.000121\n",
      "Epoch: 6820/30000, Loss: 0.000120\n",
      "Epoch: 6830/30000, Loss: 0.000120\n",
      "Epoch: 6840/30000, Loss: 0.000120\n",
      "Epoch: 6850/30000, Loss: 0.000120\n",
      "Epoch: 6860/30000, Loss: 0.000120\n",
      "Epoch: 6870/30000, Loss: 0.000120\n",
      "Epoch: 6880/30000, Loss: 0.000120\n",
      "Epoch: 6890/30000, Loss: 0.000120\n",
      "Epoch: 6900/30000, Loss: 0.000144\n",
      "Epoch: 6910/30000, Loss: 0.000452\n",
      "Epoch: 6920/30000, Loss: 0.000122\n",
      "Epoch: 6930/30000, Loss: 0.000158\n",
      "Epoch: 6940/30000, Loss: 0.000129\n",
      "Epoch: 6950/30000, Loss: 0.000119\n",
      "Epoch: 6960/30000, Loss: 0.000120\n",
      "Epoch: 6970/30000, Loss: 0.000119\n",
      "Epoch: 6980/30000, Loss: 0.000119\n",
      "Epoch: 6990/30000, Loss: 0.000118\n",
      "Epoch: 7000/30000, Loss: 0.000118\n",
      "Epoch: 7010/30000, Loss: 0.000118\n",
      "Epoch: 7020/30000, Loss: 0.000118\n",
      "Epoch: 7030/30000, Loss: 0.000118\n",
      "Epoch: 7040/30000, Loss: 0.000118\n",
      "Epoch: 7050/30000, Loss: 0.000120\n",
      "Epoch: 7060/30000, Loss: 0.000340\n",
      "Epoch: 7070/30000, Loss: 0.000308\n",
      "Epoch: 7080/30000, Loss: 0.000129\n",
      "Epoch: 7090/30000, Loss: 0.000145\n",
      "Epoch: 7100/30000, Loss: 0.000119\n",
      "Epoch: 7110/30000, Loss: 0.000120\n",
      "Epoch: 7120/30000, Loss: 0.000118\n",
      "Epoch: 7130/30000, Loss: 0.000117\n",
      "Epoch: 7140/30000, Loss: 0.000117\n",
      "Epoch: 7150/30000, Loss: 0.000117\n",
      "Epoch: 7160/30000, Loss: 0.000117\n",
      "Epoch: 7170/30000, Loss: 0.000117\n",
      "Epoch: 7180/30000, Loss: 0.000116\n",
      "Epoch: 7190/30000, Loss: 0.000116\n",
      "Epoch: 7200/30000, Loss: 0.000116\n",
      "Epoch: 7210/30000, Loss: 0.000116\n",
      "Epoch: 7220/30000, Loss: 0.000116\n",
      "Epoch: 7230/30000, Loss: 0.000116\n",
      "Epoch: 7240/30000, Loss: 0.000117\n",
      "Epoch: 7250/30000, Loss: 0.000633\n",
      "Epoch: 7260/30000, Loss: 0.000230\n",
      "Epoch: 7270/30000, Loss: 0.000185\n",
      "Epoch: 7280/30000, Loss: 0.000153\n",
      "Epoch: 7290/30000, Loss: 0.000131\n",
      "Epoch: 7300/30000, Loss: 0.000121\n",
      "Epoch: 7310/30000, Loss: 0.000116\n",
      "Epoch: 7320/30000, Loss: 0.000115\n",
      "Epoch: 7330/30000, Loss: 0.000115\n",
      "Epoch: 7340/30000, Loss: 0.000115\n",
      "Epoch: 7350/30000, Loss: 0.000115\n",
      "Epoch: 7360/30000, Loss: 0.000115\n",
      "Epoch: 7370/30000, Loss: 0.000115\n",
      "Epoch: 7380/30000, Loss: 0.000114\n",
      "Epoch: 7390/30000, Loss: 0.000114\n",
      "Epoch: 7400/30000, Loss: 0.000114\n",
      "Epoch: 7410/30000, Loss: 0.000114\n",
      "Epoch: 7420/30000, Loss: 0.000114\n",
      "Epoch: 7430/30000, Loss: 0.000114\n",
      "Epoch: 7440/30000, Loss: 0.000114\n",
      "Epoch: 7450/30000, Loss: 0.000114\n",
      "Epoch: 7460/30000, Loss: 0.000114\n",
      "Epoch: 7470/30000, Loss: 0.000114\n",
      "Epoch: 7480/30000, Loss: 0.000114\n",
      "Epoch: 7490/30000, Loss: 0.000179\n",
      "Epoch: 7500/30000, Loss: 0.000122\n",
      "Epoch: 7510/30000, Loss: 0.000201\n",
      "Epoch: 7520/30000, Loss: 0.000158\n",
      "Epoch: 7530/30000, Loss: 0.000114\n",
      "Epoch: 7540/30000, Loss: 0.000118\n",
      "Epoch: 7550/30000, Loss: 0.000114\n",
      "Epoch: 7560/30000, Loss: 0.000113\n",
      "Epoch: 7570/30000, Loss: 0.000113\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 7580/30000, Loss: 0.000113\n",
      "Epoch: 7590/30000, Loss: 0.000113\n",
      "Epoch: 7600/30000, Loss: 0.000113\n",
      "Epoch: 7610/30000, Loss: 0.000112\n",
      "Epoch: 7620/30000, Loss: 0.000113\n",
      "Epoch: 7630/30000, Loss: 0.000112\n",
      "Epoch: 7640/30000, Loss: 0.000112\n",
      "Epoch: 7650/30000, Loss: 0.000112\n",
      "Epoch: 7660/30000, Loss: 0.000112\n",
      "Epoch: 7670/30000, Loss: 0.000112\n",
      "Epoch: 7680/30000, Loss: 0.000112\n",
      "Epoch: 7690/30000, Loss: 0.000143\n",
      "Epoch: 7700/30000, Loss: 0.000409\n",
      "Epoch: 7710/30000, Loss: 0.000202\n",
      "Epoch: 7720/30000, Loss: 0.000132\n",
      "Epoch: 7730/30000, Loss: 0.000127\n",
      "Epoch: 7740/30000, Loss: 0.000114\n",
      "Epoch: 7750/30000, Loss: 0.000113\n",
      "Epoch: 7760/30000, Loss: 0.000112\n",
      "Epoch: 7770/30000, Loss: 0.000111\n",
      "Epoch: 7780/30000, Loss: 0.000111\n",
      "Epoch: 7790/30000, Loss: 0.000111\n",
      "Epoch: 7800/30000, Loss: 0.000111\n",
      "Epoch: 7810/30000, Loss: 0.000111\n",
      "Epoch: 7820/30000, Loss: 0.000111\n",
      "Epoch: 7830/30000, Loss: 0.000111\n",
      "Epoch: 7840/30000, Loss: 0.000111\n",
      "Epoch: 7850/30000, Loss: 0.000111\n",
      "Epoch: 7860/30000, Loss: 0.000111\n",
      "Epoch: 7870/30000, Loss: 0.000111\n",
      "Epoch: 7880/30000, Loss: 0.000140\n",
      "Epoch: 7890/30000, Loss: 0.000341\n",
      "Epoch: 7900/30000, Loss: 0.000287\n",
      "Epoch: 7910/30000, Loss: 0.000158\n",
      "Epoch: 7920/30000, Loss: 0.000113\n",
      "Epoch: 7930/30000, Loss: 0.000113\n",
      "Epoch: 7940/30000, Loss: 0.000113\n",
      "Epoch: 7950/30000, Loss: 0.000110\n",
      "Epoch: 7960/30000, Loss: 0.000110\n",
      "Epoch: 7970/30000, Loss: 0.000110\n",
      "Epoch: 7980/30000, Loss: 0.000110\n",
      "Epoch: 7990/30000, Loss: 0.000110\n",
      "Epoch: 8000/30000, Loss: 0.000110\n",
      "Epoch: 8010/30000, Loss: 0.000110\n",
      "Epoch: 8020/30000, Loss: 0.000109\n",
      "Epoch: 8030/30000, Loss: 0.000109\n",
      "Epoch: 8040/30000, Loss: 0.000109\n",
      "Epoch: 8050/30000, Loss: 0.000109\n",
      "Epoch: 8060/30000, Loss: 0.000110\n",
      "Epoch: 8070/30000, Loss: 0.000109\n",
      "Epoch: 8080/30000, Loss: 0.000109\n",
      "Epoch: 8090/30000, Loss: 0.000109\n",
      "Epoch: 8100/30000, Loss: 0.000117\n",
      "Epoch: 8110/30000, Loss: 0.000824\n",
      "Epoch: 8120/30000, Loss: 0.000122\n",
      "Epoch: 8130/30000, Loss: 0.000151\n",
      "Epoch: 8140/30000, Loss: 0.000139\n",
      "Epoch: 8150/30000, Loss: 0.000112\n",
      "Epoch: 8160/30000, Loss: 0.000110\n",
      "Epoch: 8170/30000, Loss: 0.000110\n",
      "Epoch: 8180/30000, Loss: 0.000109\n",
      "Epoch: 8190/30000, Loss: 0.000109\n",
      "Epoch: 8200/30000, Loss: 0.000108\n",
      "Epoch: 8210/30000, Loss: 0.000108\n",
      "Epoch: 8220/30000, Loss: 0.000108\n",
      "Epoch: 8230/30000, Loss: 0.000108\n",
      "Epoch: 8240/30000, Loss: 0.000108\n",
      "Epoch: 8250/30000, Loss: 0.000111\n",
      "Epoch: 8260/30000, Loss: 0.000117\n",
      "Epoch: 8270/30000, Loss: 0.000116\n",
      "Epoch: 8280/30000, Loss: 0.000113\n",
      "Epoch: 8290/30000, Loss: 0.000149\n",
      "Epoch: 8300/30000, Loss: 0.000173\n",
      "Epoch: 8310/30000, Loss: 0.000140\n",
      "Epoch: 8320/30000, Loss: 0.000112\n",
      "Epoch: 8330/30000, Loss: 0.000116\n",
      "Epoch: 8340/30000, Loss: 0.000144\n",
      "Epoch: 8350/30000, Loss: 0.000129\n",
      "Epoch: 8360/30000, Loss: 0.000107\n",
      "Epoch: 8370/30000, Loss: 0.000142\n",
      "Epoch: 8380/30000, Loss: 0.000195\n",
      "Epoch: 8390/30000, Loss: 0.000161\n",
      "Epoch: 8400/30000, Loss: 0.000119\n",
      "Epoch: 8410/30000, Loss: 0.000110\n",
      "Epoch: 8420/30000, Loss: 0.000166\n",
      "Epoch: 8430/30000, Loss: 0.000111\n",
      "Epoch: 8440/30000, Loss: 0.000135\n",
      "Epoch: 8450/30000, Loss: 0.000106\n",
      "Epoch: 8460/30000, Loss: 0.001092\n",
      "Epoch: 8470/30000, Loss: 0.000398\n",
      "Epoch: 8480/30000, Loss: 0.000214\n",
      "Epoch: 8490/30000, Loss: 0.000141\n",
      "Epoch: 8500/30000, Loss: 0.000117\n",
      "Epoch: 8510/30000, Loss: 0.000111\n",
      "Epoch: 8520/30000, Loss: 0.000108\n",
      "Epoch: 8530/30000, Loss: 0.000107\n",
      "Epoch: 8540/30000, Loss: 0.000107\n",
      "Epoch: 8550/30000, Loss: 0.000106\n",
      "Epoch: 8560/30000, Loss: 0.000106\n",
      "Epoch: 8570/30000, Loss: 0.000106\n",
      "Epoch: 8580/30000, Loss: 0.000106\n",
      "Epoch: 8590/30000, Loss: 0.000106\n",
      "Epoch: 8600/30000, Loss: 0.000106\n",
      "Epoch: 8610/30000, Loss: 0.000106\n",
      "Epoch: 8620/30000, Loss: 0.000106\n",
      "Epoch: 8630/30000, Loss: 0.000106\n",
      "Epoch: 8640/30000, Loss: 0.000106\n",
      "Epoch: 8650/30000, Loss: 0.000106\n",
      "Epoch: 8660/30000, Loss: 0.000106\n",
      "Epoch: 8670/30000, Loss: 0.000105\n",
      "Epoch: 8680/30000, Loss: 0.000105\n",
      "Epoch: 8690/30000, Loss: 0.000105\n",
      "Epoch: 8700/30000, Loss: 0.000105\n",
      "Epoch: 8710/30000, Loss: 0.000105\n",
      "Epoch: 8720/30000, Loss: 0.000105\n",
      "Epoch: 8730/30000, Loss: 0.000106\n",
      "Epoch: 8740/30000, Loss: 0.000470\n",
      "Epoch: 8750/30000, Loss: 0.000401\n",
      "Epoch: 8760/30000, Loss: 0.000231\n",
      "Epoch: 8770/30000, Loss: 0.000156\n",
      "Epoch: 8780/30000, Loss: 0.000124\n",
      "Epoch: 8790/30000, Loss: 0.000111\n",
      "Epoch: 8800/30000, Loss: 0.000106\n",
      "Epoch: 8810/30000, Loss: 0.000105\n",
      "Epoch: 8820/30000, Loss: 0.000105\n",
      "Epoch: 8830/30000, Loss: 0.000105\n",
      "Epoch: 8840/30000, Loss: 0.000105\n",
      "Epoch: 8850/30000, Loss: 0.000105\n",
      "Epoch: 8860/30000, Loss: 0.000105\n",
      "Epoch: 8870/30000, Loss: 0.000105\n",
      "Epoch: 8880/30000, Loss: 0.000104\n",
      "Epoch: 8890/30000, Loss: 0.000105\n",
      "Epoch: 8900/30000, Loss: 0.000104\n",
      "Epoch: 8910/30000, Loss: 0.000104\n",
      "Epoch: 8920/30000, Loss: 0.000104\n",
      "Epoch: 8930/30000, Loss: 0.000104\n",
      "Epoch: 8940/30000, Loss: 0.000104\n",
      "Epoch: 8950/30000, Loss: 0.000104\n",
      "Epoch: 8960/30000, Loss: 0.000104\n",
      "Epoch: 8970/30000, Loss: 0.000104\n",
      "Epoch: 8980/30000, Loss: 0.000104\n",
      "Epoch: 8990/30000, Loss: 0.000104\n",
      "Epoch: 9000/30000, Loss: 0.000104\n",
      "Epoch: 9010/30000, Loss: 0.000415\n",
      "Epoch: 9020/30000, Loss: 0.000472\n",
      "Epoch: 9030/30000, Loss: 0.000180\n",
      "Epoch: 9040/30000, Loss: 0.000122\n",
      "Epoch: 9050/30000, Loss: 0.000106\n",
      "Epoch: 9060/30000, Loss: 0.000104\n",
      "Epoch: 9070/30000, Loss: 0.000104\n",
      "Epoch: 9080/30000, Loss: 0.000104\n",
      "Epoch: 9090/30000, Loss: 0.000104\n",
      "Epoch: 9100/30000, Loss: 0.000104\n",
      "Epoch: 9110/30000, Loss: 0.000103\n",
      "Epoch: 9120/30000, Loss: 0.000103\n",
      "Epoch: 9130/30000, Loss: 0.000103\n",
      "Epoch: 9140/30000, Loss: 0.000103\n",
      "Epoch: 9150/30000, Loss: 0.000103\n",
      "Epoch: 9160/30000, Loss: 0.000103\n",
      "Epoch: 9170/30000, Loss: 0.000103\n",
      "Epoch: 9180/30000, Loss: 0.000103\n",
      "Epoch: 9190/30000, Loss: 0.000103\n",
      "Epoch: 9200/30000, Loss: 0.000103\n",
      "Epoch: 9210/30000, Loss: 0.000103\n",
      "Epoch: 9220/30000, Loss: 0.000103\n",
      "Epoch: 9230/30000, Loss: 0.000103\n",
      "Epoch: 9240/30000, Loss: 0.000103\n",
      "Epoch: 9250/30000, Loss: 0.000102\n",
      "Epoch: 9260/30000, Loss: 0.000102\n",
      "Epoch: 9270/30000, Loss: 0.000102\n",
      "Epoch: 9280/30000, Loss: 0.000102\n",
      "Epoch: 9290/30000, Loss: 0.000102\n",
      "Epoch: 9300/30000, Loss: 0.000182\n",
      "Epoch: 9310/30000, Loss: 0.000245\n",
      "Epoch: 9320/30000, Loss: 0.000161\n",
      "Epoch: 9330/30000, Loss: 0.000112\n",
      "Epoch: 9340/30000, Loss: 0.000105\n",
      "Epoch: 9350/30000, Loss: 0.000103\n",
      "Epoch: 9360/30000, Loss: 0.000102\n",
      "Epoch: 9370/30000, Loss: 0.000103\n",
      "Epoch: 9380/30000, Loss: 0.000103\n",
      "Epoch: 9390/30000, Loss: 0.000102\n",
      "Epoch: 9400/30000, Loss: 0.000102\n",
      "Epoch: 9410/30000, Loss: 0.000102\n",
      "Epoch: 9420/30000, Loss: 0.000102\n",
      "Epoch: 9430/30000, Loss: 0.000102\n",
      "Epoch: 9440/30000, Loss: 0.000102\n",
      "Epoch: 9450/30000, Loss: 0.000102\n",
      "Epoch: 9460/30000, Loss: 0.000102\n",
      "Epoch: 9470/30000, Loss: 0.000102\n",
      "Epoch: 9480/30000, Loss: 0.000102\n",
      "Epoch: 9490/30000, Loss: 0.000101\n",
      "Epoch: 9500/30000, Loss: 0.000101\n",
      "Epoch: 9510/30000, Loss: 0.000101\n",
      "Epoch: 9520/30000, Loss: 0.000101\n",
      "Epoch: 9530/30000, Loss: 0.000101\n",
      "Epoch: 9540/30000, Loss: 0.000101\n",
      "Epoch: 9550/30000, Loss: 0.000101\n",
      "Epoch: 9560/30000, Loss: 0.000116\n",
      "Epoch: 9570/30000, Loss: 0.000746\n",
      "Epoch: 9580/30000, Loss: 0.000231\n",
      "Epoch: 9590/30000, Loss: 0.000102\n",
      "Epoch: 9600/30000, Loss: 0.000117\n",
      "Epoch: 9610/30000, Loss: 0.000111\n",
      "Epoch: 9620/30000, Loss: 0.000101\n",
      "Epoch: 9630/30000, Loss: 0.000102\n",
      "Epoch: 9640/30000, Loss: 0.000101\n",
      "Epoch: 9650/30000, Loss: 0.000101\n",
      "Epoch: 9660/30000, Loss: 0.000101\n",
      "Epoch: 9670/30000, Loss: 0.000101\n",
      "Epoch: 9680/30000, Loss: 0.000101\n",
      "Epoch: 9690/30000, Loss: 0.000101\n",
      "Epoch: 9700/30000, Loss: 0.000101\n",
      "Epoch: 9710/30000, Loss: 0.000101\n",
      "Epoch: 9720/30000, Loss: 0.000100\n",
      "Epoch: 9730/30000, Loss: 0.000100\n",
      "Epoch: 9740/30000, Loss: 0.000100\n",
      "Epoch: 9750/30000, Loss: 0.000100\n",
      "Epoch: 9760/30000, Loss: 0.000100\n",
      "Epoch: 9770/30000, Loss: 0.000102\n",
      "Epoch: 9780/30000, Loss: 0.000285\n",
      "Epoch: 9790/30000, Loss: 0.000269\n",
      "Epoch: 9800/30000, Loss: 0.000117\n",
      "Epoch: 9810/30000, Loss: 0.000137\n",
      "Epoch: 9820/30000, Loss: 0.000100\n",
      "Epoch: 9830/30000, Loss: 0.000105\n",
      "Epoch: 9840/30000, Loss: 0.000100\n",
      "Epoch: 9850/30000, Loss: 0.000100\n",
      "Epoch: 9860/30000, Loss: 0.000100\n",
      "Epoch: 9870/30000, Loss: 0.000100\n",
      "Epoch: 9880/30000, Loss: 0.000100\n",
      "Epoch: 9890/30000, Loss: 0.000100\n",
      "Epoch: 9900/30000, Loss: 0.000100\n",
      "Epoch: 9910/30000, Loss: 0.000100\n",
      "Epoch: 9920/30000, Loss: 0.000100\n",
      "Epoch: 9930/30000, Loss: 0.000100\n",
      "Epoch: 9940/30000, Loss: 0.000099\n",
      "Epoch: 9950/30000, Loss: 0.000100\n",
      "Epoch: 9960/30000, Loss: 0.000111\n",
      "Epoch: 9970/30000, Loss: 0.000666\n",
      "Epoch: 9980/30000, Loss: 0.000128\n",
      "Epoch: 9990/30000, Loss: 0.000154\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 10000/30000, Loss: 0.000106\n",
      "Epoch: 10010/30000, Loss: 0.000104\n",
      "Epoch: 10020/30000, Loss: 0.000102\n",
      "Epoch: 10030/30000, Loss: 0.000099\n",
      "Epoch: 10040/30000, Loss: 0.000099\n",
      "Epoch: 10050/30000, Loss: 0.000099\n",
      "Epoch: 10060/30000, Loss: 0.000099\n",
      "Epoch: 10070/30000, Loss: 0.000099\n",
      "Epoch: 10080/30000, Loss: 0.000099\n",
      "Epoch: 10090/30000, Loss: 0.000099\n",
      "Epoch: 10100/30000, Loss: 0.000099\n",
      "Epoch: 10110/30000, Loss: 0.000099\n",
      "Epoch: 10120/30000, Loss: 0.000099\n",
      "Epoch: 10130/30000, Loss: 0.000103\n",
      "Epoch: 10140/30000, Loss: 0.000413\n",
      "Epoch: 10150/30000, Loss: 0.000299\n",
      "Epoch: 10160/30000, Loss: 0.000108\n",
      "Epoch: 10170/30000, Loss: 0.000118\n",
      "Epoch: 10180/30000, Loss: 0.000106\n",
      "Epoch: 10190/30000, Loss: 0.000098\n",
      "Epoch: 10200/30000, Loss: 0.000099\n",
      "Epoch: 10210/30000, Loss: 0.000099\n",
      "Epoch: 10220/30000, Loss: 0.000098\n",
      "Epoch: 10230/30000, Loss: 0.000098\n",
      "Epoch: 10240/30000, Loss: 0.000098\n",
      "Epoch: 10250/30000, Loss: 0.000098\n",
      "Epoch: 10260/30000, Loss: 0.000098\n",
      "Epoch: 10270/30000, Loss: 0.000098\n",
      "Epoch: 10280/30000, Loss: 0.000098\n",
      "Epoch: 10290/30000, Loss: 0.000100\n",
      "Epoch: 10300/30000, Loss: 0.000205\n",
      "Epoch: 10310/30000, Loss: 0.000104\n",
      "Epoch: 10320/30000, Loss: 0.000189\n",
      "Epoch: 10330/30000, Loss: 0.000116\n",
      "Epoch: 10340/30000, Loss: 0.000099\n",
      "Epoch: 10350/30000, Loss: 0.000101\n",
      "Epoch: 10360/30000, Loss: 0.000099\n",
      "Epoch: 10370/30000, Loss: 0.000098\n",
      "Epoch: 10380/30000, Loss: 0.000098\n",
      "Epoch: 10390/30000, Loss: 0.000098\n",
      "Epoch: 10400/30000, Loss: 0.000097\n",
      "Epoch: 10410/30000, Loss: 0.000097\n",
      "Epoch: 10420/30000, Loss: 0.000097\n",
      "Epoch: 10430/30000, Loss: 0.000097\n",
      "Epoch: 10440/30000, Loss: 0.000098\n",
      "Epoch: 10450/30000, Loss: 0.000146\n",
      "Epoch: 10460/30000, Loss: 0.000258\n",
      "Epoch: 10470/30000, Loss: 0.000122\n",
      "Epoch: 10480/30000, Loss: 0.000139\n",
      "Epoch: 10490/30000, Loss: 0.000104\n",
      "Epoch: 10500/30000, Loss: 0.000097\n",
      "Epoch: 10510/30000, Loss: 0.000098\n",
      "Epoch: 10520/30000, Loss: 0.000097\n",
      "Epoch: 10530/30000, Loss: 0.000097\n",
      "Epoch: 10540/30000, Loss: 0.000097\n",
      "Epoch: 10550/30000, Loss: 0.000097\n",
      "Epoch: 10560/30000, Loss: 0.000097\n",
      "Epoch: 10570/30000, Loss: 0.000097\n",
      "Epoch: 10580/30000, Loss: 0.000097\n",
      "Epoch: 10590/30000, Loss: 0.000099\n",
      "Epoch: 10600/30000, Loss: 0.000194\n",
      "Epoch: 10610/30000, Loss: 0.000104\n",
      "Epoch: 10620/30000, Loss: 0.000149\n",
      "Epoch: 10630/30000, Loss: 0.000129\n",
      "Epoch: 10640/30000, Loss: 0.000103\n",
      "Epoch: 10650/30000, Loss: 0.000097\n",
      "Epoch: 10660/30000, Loss: 0.000096\n",
      "Epoch: 10670/30000, Loss: 0.000096\n",
      "Epoch: 10680/30000, Loss: 0.000097\n",
      "Epoch: 10690/30000, Loss: 0.000096\n",
      "Epoch: 10700/30000, Loss: 0.000096\n",
      "Epoch: 10710/30000, Loss: 0.000096\n",
      "Epoch: 10720/30000, Loss: 0.000096\n",
      "Epoch: 10730/30000, Loss: 0.000096\n",
      "Epoch: 10740/30000, Loss: 0.000110\n",
      "Epoch: 10750/30000, Loss: 0.000622\n",
      "Epoch: 10760/30000, Loss: 0.000119\n",
      "Epoch: 10770/30000, Loss: 0.000146\n",
      "Epoch: 10780/30000, Loss: 0.000106\n",
      "Epoch: 10790/30000, Loss: 0.000098\n",
      "Epoch: 10800/30000, Loss: 0.000099\n",
      "Epoch: 10810/30000, Loss: 0.000096\n",
      "Epoch: 10820/30000, Loss: 0.000096\n",
      "Epoch: 10830/30000, Loss: 0.000096\n",
      "Epoch: 10840/30000, Loss: 0.000096\n",
      "Epoch: 10850/30000, Loss: 0.000096\n",
      "Epoch: 10860/30000, Loss: 0.000096\n",
      "Epoch: 10870/30000, Loss: 0.000096\n",
      "Epoch: 10880/30000, Loss: 0.000095\n",
      "Epoch: 10890/30000, Loss: 0.000096\n",
      "Epoch: 10900/30000, Loss: 0.000095\n",
      "Epoch: 10910/30000, Loss: 0.000096\n",
      "Epoch: 10920/30000, Loss: 0.000096\n",
      "Epoch: 10930/30000, Loss: 0.000203\n",
      "Epoch: 10940/30000, Loss: 0.000291\n",
      "Epoch: 10950/30000, Loss: 0.000129\n",
      "Epoch: 10960/30000, Loss: 0.000097\n",
      "Epoch: 10970/30000, Loss: 0.000101\n",
      "Epoch: 10980/30000, Loss: 0.000101\n",
      "Epoch: 10990/30000, Loss: 0.000098\n",
      "Epoch: 11000/30000, Loss: 0.000096\n",
      "Epoch: 11010/30000, Loss: 0.000095\n",
      "Epoch: 11020/30000, Loss: 0.000095\n",
      "Epoch: 11030/30000, Loss: 0.000095\n",
      "Epoch: 11040/30000, Loss: 0.000095\n",
      "Epoch: 11050/30000, Loss: 0.000095\n",
      "Epoch: 11060/30000, Loss: 0.000095\n",
      "Epoch: 11070/30000, Loss: 0.000095\n",
      "Epoch: 11080/30000, Loss: 0.000095\n",
      "Epoch: 11090/30000, Loss: 0.000095\n",
      "Epoch: 11100/30000, Loss: 0.000095\n",
      "Epoch: 11110/30000, Loss: 0.000095\n",
      "Epoch: 11120/30000, Loss: 0.000095\n",
      "Epoch: 11130/30000, Loss: 0.000095\n",
      "Epoch: 11140/30000, Loss: 0.000095\n",
      "Epoch: 11150/30000, Loss: 0.000094\n",
      "Epoch: 11160/30000, Loss: 0.000097\n",
      "Epoch: 11170/30000, Loss: 0.000366\n",
      "Epoch: 11180/30000, Loss: 0.000326\n",
      "Epoch: 11190/30000, Loss: 0.000098\n",
      "Epoch: 11200/30000, Loss: 0.000126\n",
      "Epoch: 11210/30000, Loss: 0.000096\n",
      "Epoch: 11220/30000, Loss: 0.000097\n",
      "Epoch: 11230/30000, Loss: 0.000095\n",
      "Epoch: 11240/30000, Loss: 0.000094\n",
      "Epoch: 11250/30000, Loss: 0.000094\n",
      "Epoch: 11260/30000, Loss: 0.000094\n",
      "Epoch: 11270/30000, Loss: 0.000094\n",
      "Epoch: 11280/30000, Loss: 0.000094\n",
      "Epoch: 11290/30000, Loss: 0.000094\n",
      "Epoch: 11300/30000, Loss: 0.000094\n",
      "Epoch: 11310/30000, Loss: 0.000094\n",
      "Epoch: 11320/30000, Loss: 0.000094\n",
      "Epoch: 11330/30000, Loss: 0.000094\n",
      "Epoch: 11340/30000, Loss: 0.000110\n",
      "Epoch: 11350/30000, Loss: 0.000619\n",
      "Epoch: 11360/30000, Loss: 0.000103\n",
      "Epoch: 11370/30000, Loss: 0.000146\n",
      "Epoch: 11380/30000, Loss: 0.000102\n",
      "Epoch: 11390/30000, Loss: 0.000096\n",
      "Epoch: 11400/30000, Loss: 0.000096\n",
      "Epoch: 11410/30000, Loss: 0.000094\n",
      "Epoch: 11420/30000, Loss: 0.000094\n",
      "Epoch: 11430/30000, Loss: 0.000093\n",
      "Epoch: 11440/30000, Loss: 0.000093\n",
      "Epoch: 11450/30000, Loss: 0.000093\n",
      "Epoch: 11460/30000, Loss: 0.000093\n",
      "Epoch: 11470/30000, Loss: 0.000093\n",
      "Epoch: 11480/30000, Loss: 0.000093\n",
      "Epoch: 11490/30000, Loss: 0.000094\n",
      "Epoch: 11500/30000, Loss: 0.000097\n",
      "Epoch: 11510/30000, Loss: 0.000298\n",
      "Epoch: 11520/30000, Loss: 0.000204\n",
      "Epoch: 11530/30000, Loss: 0.000161\n",
      "Epoch: 11540/30000, Loss: 0.000094\n",
      "Epoch: 11550/30000, Loss: 0.000098\n",
      "Epoch: 11560/30000, Loss: 0.000097\n",
      "Epoch: 11570/30000, Loss: 0.000094\n",
      "Epoch: 11580/30000, Loss: 0.000093\n",
      "Epoch: 11590/30000, Loss: 0.000093\n",
      "Epoch: 11600/30000, Loss: 0.000093\n",
      "Epoch: 11610/30000, Loss: 0.000093\n",
      "Epoch: 11620/30000, Loss: 0.000093\n",
      "Epoch: 11630/30000, Loss: 0.000093\n",
      "Epoch: 11640/30000, Loss: 0.000093\n",
      "Epoch: 11650/30000, Loss: 0.000103\n",
      "Epoch: 11660/30000, Loss: 0.000453\n",
      "Epoch: 11670/30000, Loss: 0.000237\n",
      "Epoch: 11680/30000, Loss: 0.000117\n",
      "Epoch: 11690/30000, Loss: 0.000093\n",
      "Epoch: 11700/30000, Loss: 0.000094\n",
      "Epoch: 11710/30000, Loss: 0.000094\n",
      "Epoch: 11720/30000, Loss: 0.000093\n",
      "Epoch: 11730/30000, Loss: 0.000092\n",
      "Epoch: 11740/30000, Loss: 0.000092\n",
      "Epoch: 11750/30000, Loss: 0.000092\n",
      "Epoch: 11760/30000, Loss: 0.000092\n",
      "Epoch: 11770/30000, Loss: 0.000092\n",
      "Epoch: 11780/30000, Loss: 0.000093\n",
      "Epoch: 11790/30000, Loss: 0.000146\n",
      "Epoch: 11800/30000, Loss: 0.000222\n",
      "Epoch: 11810/30000, Loss: 0.000096\n",
      "Epoch: 11820/30000, Loss: 0.000111\n",
      "Epoch: 11830/30000, Loss: 0.000105\n",
      "Epoch: 11840/30000, Loss: 0.000097\n",
      "Epoch: 11850/30000, Loss: 0.000094\n",
      "Epoch: 11860/30000, Loss: 0.000093\n",
      "Epoch: 11870/30000, Loss: 0.000092\n",
      "Epoch: 11880/30000, Loss: 0.000092\n",
      "Epoch: 11890/30000, Loss: 0.000092\n",
      "Epoch: 11900/30000, Loss: 0.000092\n",
      "Epoch: 11910/30000, Loss: 0.000093\n",
      "Epoch: 11920/30000, Loss: 0.000129\n",
      "Epoch: 11930/30000, Loss: 0.000335\n",
      "Epoch: 11940/30000, Loss: 0.000117\n",
      "Epoch: 11950/30000, Loss: 0.000093\n",
      "Epoch: 11960/30000, Loss: 0.000092\n",
      "Epoch: 11970/30000, Loss: 0.000092\n",
      "Epoch: 11980/30000, Loss: 0.000091\n",
      "Epoch: 11990/30000, Loss: 0.000092\n",
      "Epoch: 12000/30000, Loss: 0.000092\n",
      "Epoch: 12010/30000, Loss: 0.000091\n",
      "Epoch: 12020/30000, Loss: 0.000091\n",
      "Epoch: 12030/30000, Loss: 0.000091\n",
      "Epoch: 12040/30000, Loss: 0.000097\n",
      "Epoch: 12050/30000, Loss: 0.000347\n",
      "Epoch: 12060/30000, Loss: 0.000213\n",
      "Epoch: 12070/30000, Loss: 0.000153\n",
      "Epoch: 12080/30000, Loss: 0.000098\n",
      "Epoch: 12090/30000, Loss: 0.000091\n",
      "Epoch: 12100/30000, Loss: 0.000091\n",
      "Epoch: 12110/30000, Loss: 0.000091\n",
      "Epoch: 12120/30000, Loss: 0.000091\n",
      "Epoch: 12130/30000, Loss: 0.000091\n",
      "Epoch: 12140/30000, Loss: 0.000091\n",
      "Epoch: 12150/30000, Loss: 0.000091\n",
      "Epoch: 12160/30000, Loss: 0.000091\n",
      "Epoch: 12170/30000, Loss: 0.000091\n",
      "Epoch: 12180/30000, Loss: 0.000105\n",
      "Epoch: 12190/30000, Loss: 0.000499\n",
      "Epoch: 12200/30000, Loss: 0.000184\n",
      "Epoch: 12210/30000, Loss: 0.000092\n",
      "Epoch: 12220/30000, Loss: 0.000098\n",
      "Epoch: 12230/30000, Loss: 0.000097\n",
      "Epoch: 12240/30000, Loss: 0.000093\n",
      "Epoch: 12250/30000, Loss: 0.000091\n",
      "Epoch: 12260/30000, Loss: 0.000091\n",
      "Epoch: 12270/30000, Loss: 0.000090\n",
      "Epoch: 12280/30000, Loss: 0.000090\n",
      "Epoch: 12290/30000, Loss: 0.000090\n",
      "Epoch: 12300/30000, Loss: 0.000090\n",
      "Epoch: 12310/30000, Loss: 0.000091\n",
      "Epoch: 12320/30000, Loss: 0.000109\n",
      "Epoch: 12330/30000, Loss: 0.000485\n",
      "Epoch: 12340/30000, Loss: 0.000143\n",
      "Epoch: 12350/30000, Loss: 0.000092\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 12360/30000, Loss: 0.000100\n",
      "Epoch: 12370/30000, Loss: 0.000097\n",
      "Epoch: 12380/30000, Loss: 0.000092\n",
      "Epoch: 12390/30000, Loss: 0.000091\n",
      "Epoch: 12400/30000, Loss: 0.000090\n",
      "Epoch: 12410/30000, Loss: 0.000090\n",
      "Epoch: 12420/30000, Loss: 0.000090\n",
      "Epoch: 12430/30000, Loss: 0.000090\n",
      "Epoch: 12440/30000, Loss: 0.000090\n",
      "Epoch: 12450/30000, Loss: 0.000089\n",
      "Epoch: 12460/30000, Loss: 0.000092\n",
      "Epoch: 12470/30000, Loss: 0.000350\n",
      "Epoch: 12480/30000, Loss: 0.000307\n",
      "Epoch: 12490/30000, Loss: 0.000098\n",
      "Epoch: 12500/30000, Loss: 0.000116\n",
      "Epoch: 12510/30000, Loss: 0.000096\n",
      "Epoch: 12520/30000, Loss: 0.000090\n",
      "Epoch: 12530/30000, Loss: 0.000091\n",
      "Epoch: 12540/30000, Loss: 0.000090\n",
      "Epoch: 12550/30000, Loss: 0.000089\n",
      "Epoch: 12560/30000, Loss: 0.000089\n",
      "Epoch: 12570/30000, Loss: 0.000089\n",
      "Epoch: 12580/30000, Loss: 0.000089\n",
      "Epoch: 12590/30000, Loss: 0.000089\n",
      "Epoch: 12600/30000, Loss: 0.000089\n",
      "Epoch: 12610/30000, Loss: 0.000089\n",
      "Epoch: 12620/30000, Loss: 0.000089\n",
      "Epoch: 12630/30000, Loss: 0.000117\n",
      "Epoch: 12640/30000, Loss: 0.000409\n",
      "Epoch: 12650/30000, Loss: 0.000091\n",
      "Epoch: 12660/30000, Loss: 0.000115\n",
      "Epoch: 12670/30000, Loss: 0.000106\n",
      "Epoch: 12680/30000, Loss: 0.000093\n",
      "Epoch: 12690/30000, Loss: 0.000089\n",
      "Epoch: 12700/30000, Loss: 0.000089\n",
      "Epoch: 12710/30000, Loss: 0.000088\n",
      "Epoch: 12720/30000, Loss: 0.000088\n",
      "Epoch: 12730/30000, Loss: 0.000088\n",
      "Epoch: 12740/30000, Loss: 0.000088\n",
      "Epoch: 12750/30000, Loss: 0.000088\n",
      "Epoch: 12760/30000, Loss: 0.000090\n",
      "Epoch: 12770/30000, Loss: 0.000178\n",
      "Epoch: 12780/30000, Loss: 0.000105\n",
      "Epoch: 12790/30000, Loss: 0.000101\n",
      "Epoch: 12800/30000, Loss: 0.000098\n",
      "Epoch: 12810/30000, Loss: 0.000093\n",
      "Epoch: 12820/30000, Loss: 0.000089\n",
      "Epoch: 12830/30000, Loss: 0.000088\n",
      "Epoch: 12840/30000, Loss: 0.000088\n",
      "Epoch: 12850/30000, Loss: 0.000087\n",
      "Epoch: 12860/30000, Loss: 0.000088\n",
      "Epoch: 12870/30000, Loss: 0.000089\n",
      "Epoch: 12880/30000, Loss: 0.000125\n",
      "Epoch: 12890/30000, Loss: 0.000261\n",
      "Epoch: 12900/30000, Loss: 0.000143\n",
      "Epoch: 12910/30000, Loss: 0.000117\n",
      "Epoch: 12920/30000, Loss: 0.000098\n",
      "Epoch: 12930/30000, Loss: 0.000088\n",
      "Epoch: 12940/30000, Loss: 0.000088\n",
      "Epoch: 12950/30000, Loss: 0.000087\n",
      "Epoch: 12960/30000, Loss: 0.000089\n",
      "Epoch: 12970/30000, Loss: 0.000108\n",
      "Epoch: 12980/30000, Loss: 0.000276\n",
      "Epoch: 12990/30000, Loss: 0.000137\n",
      "Epoch: 13000/30000, Loss: 0.000092\n",
      "Epoch: 13010/30000, Loss: 0.000091\n",
      "Epoch: 13020/30000, Loss: 0.000092\n",
      "Epoch: 13030/30000, Loss: 0.000087\n",
      "Epoch: 13040/30000, Loss: 0.000086\n",
      "Epoch: 13050/30000, Loss: 0.000086\n",
      "Epoch: 13060/30000, Loss: 0.000089\n",
      "Epoch: 13070/30000, Loss: 0.000318\n",
      "Epoch: 13080/30000, Loss: 0.000219\n",
      "Epoch: 13090/30000, Loss: 0.000143\n",
      "Epoch: 13100/30000, Loss: 0.000087\n",
      "Epoch: 13110/30000, Loss: 0.000089\n",
      "Epoch: 13120/30000, Loss: 0.000089\n",
      "Epoch: 13130/30000, Loss: 0.000087\n",
      "Epoch: 13140/30000, Loss: 0.000086\n",
      "Epoch: 13150/30000, Loss: 0.000085\n",
      "Epoch: 13160/30000, Loss: 0.000085\n",
      "Epoch: 13170/30000, Loss: 0.000085\n",
      "Epoch: 13180/30000, Loss: 0.000085\n",
      "Epoch: 13190/30000, Loss: 0.000086\n",
      "Epoch: 13200/30000, Loss: 0.000113\n",
      "Epoch: 13210/30000, Loss: 0.000340\n",
      "Epoch: 13220/30000, Loss: 0.000119\n",
      "Epoch: 13230/30000, Loss: 0.000091\n",
      "Epoch: 13240/30000, Loss: 0.000087\n",
      "Epoch: 13250/30000, Loss: 0.000086\n",
      "Epoch: 13260/30000, Loss: 0.000086\n",
      "Epoch: 13270/30000, Loss: 0.000084\n",
      "Epoch: 13280/30000, Loss: 0.000084\n",
      "Epoch: 13290/30000, Loss: 0.000083\n",
      "Epoch: 13300/30000, Loss: 0.000084\n",
      "Epoch: 13310/30000, Loss: 0.000093\n",
      "Epoch: 13320/30000, Loss: 0.000454\n",
      "Epoch: 13330/30000, Loss: 0.000198\n",
      "Epoch: 13340/30000, Loss: 0.000098\n",
      "Epoch: 13350/30000, Loss: 0.000085\n",
      "Epoch: 13360/30000, Loss: 0.000083\n",
      "Epoch: 13370/30000, Loss: 0.000082\n",
      "Epoch: 13380/30000, Loss: 0.000082\n",
      "Epoch: 13390/30000, Loss: 0.000082\n",
      "Epoch: 13400/30000, Loss: 0.000082\n",
      "Epoch: 13410/30000, Loss: 0.000081\n",
      "Epoch: 13420/30000, Loss: 0.000081\n",
      "Epoch: 13430/30000, Loss: 0.000091\n",
      "Epoch: 13440/30000, Loss: 0.000476\n",
      "Epoch: 13450/30000, Loss: 0.000175\n",
      "Epoch: 13460/30000, Loss: 0.000084\n",
      "Epoch: 13470/30000, Loss: 0.000081\n",
      "Epoch: 13480/30000, Loss: 0.000081\n",
      "Epoch: 13490/30000, Loss: 0.000080\n",
      "Epoch: 13500/30000, Loss: 0.000079\n",
      "Epoch: 13510/30000, Loss: 0.000080\n",
      "Epoch: 13520/30000, Loss: 0.000079\n",
      "Epoch: 13530/30000, Loss: 0.000079\n",
      "Epoch: 13540/30000, Loss: 0.000084\n",
      "Epoch: 13550/30000, Loss: 0.000258\n",
      "Epoch: 13560/30000, Loss: 0.000120\n",
      "Epoch: 13570/30000, Loss: 0.000100\n",
      "Epoch: 13580/30000, Loss: 0.000078\n",
      "Epoch: 13590/30000, Loss: 0.000081\n",
      "Epoch: 13600/30000, Loss: 0.000080\n",
      "Epoch: 13610/30000, Loss: 0.000079\n",
      "Epoch: 13620/30000, Loss: 0.000083\n",
      "Epoch: 13630/30000, Loss: 0.000159\n",
      "Epoch: 13640/30000, Loss: 0.000086\n",
      "Epoch: 13650/30000, Loss: 0.000104\n",
      "Epoch: 13660/30000, Loss: 0.000083\n",
      "Epoch: 13670/30000, Loss: 0.000099\n",
      "Epoch: 13680/30000, Loss: 0.000080\n",
      "Epoch: 13690/30000, Loss: 0.000075\n",
      "Epoch: 13700/30000, Loss: 0.000075\n",
      "Epoch: 13710/30000, Loss: 0.000092\n",
      "Epoch: 13720/30000, Loss: 0.000471\n",
      "Epoch: 13730/30000, Loss: 0.000079\n",
      "Epoch: 13740/30000, Loss: 0.000120\n",
      "Epoch: 13750/30000, Loss: 0.000093\n",
      "Epoch: 13760/30000, Loss: 0.000077\n",
      "Epoch: 13770/30000, Loss: 0.000074\n",
      "Epoch: 13780/30000, Loss: 0.000073\n",
      "Epoch: 13790/30000, Loss: 0.000073\n",
      "Epoch: 13800/30000, Loss: 0.000073\n",
      "Epoch: 13810/30000, Loss: 0.000073\n",
      "Epoch: 13820/30000, Loss: 0.000073\n",
      "Epoch: 13830/30000, Loss: 0.000101\n",
      "Epoch: 13840/30000, Loss: 0.000214\n",
      "Epoch: 13850/30000, Loss: 0.000109\n",
      "Epoch: 13860/30000, Loss: 0.000103\n",
      "Epoch: 13870/30000, Loss: 0.000079\n",
      "Epoch: 13880/30000, Loss: 0.000072\n",
      "Epoch: 13890/30000, Loss: 0.000074\n",
      "Epoch: 13900/30000, Loss: 0.000082\n",
      "Epoch: 13910/30000, Loss: 0.000145\n",
      "Epoch: 13920/30000, Loss: 0.000081\n",
      "Epoch: 13930/30000, Loss: 0.000104\n",
      "Epoch: 13940/30000, Loss: 0.000082\n",
      "Epoch: 13950/30000, Loss: 0.000070\n",
      "Epoch: 13960/30000, Loss: 0.000072\n",
      "Epoch: 13970/30000, Loss: 0.000138\n",
      "Epoch: 13980/30000, Loss: 0.000117\n",
      "Epoch: 13990/30000, Loss: 0.000072\n",
      "Epoch: 14000/30000, Loss: 0.000072\n",
      "Epoch: 14010/30000, Loss: 0.000076\n",
      "Epoch: 14020/30000, Loss: 0.000074\n",
      "Epoch: 14030/30000, Loss: 0.000070\n",
      "Epoch: 14040/30000, Loss: 0.000072\n",
      "Epoch: 14050/30000, Loss: 0.000079\n",
      "Epoch: 14060/30000, Loss: 0.000164\n",
      "Epoch: 14070/30000, Loss: 0.000073\n",
      "Epoch: 14080/30000, Loss: 0.000097\n",
      "Epoch: 14090/30000, Loss: 0.000075\n",
      "Epoch: 14100/30000, Loss: 0.000089\n",
      "Epoch: 14110/30000, Loss: 0.000083\n",
      "Epoch: 14120/30000, Loss: 0.000079\n",
      "Epoch: 14130/30000, Loss: 0.000125\n",
      "Epoch: 14140/30000, Loss: 0.000136\n",
      "Epoch: 14150/30000, Loss: 0.000112\n",
      "Epoch: 14160/30000, Loss: 0.000070\n",
      "Epoch: 14170/30000, Loss: 0.000085\n",
      "Epoch: 14180/30000, Loss: 0.000078\n",
      "Epoch: 14190/30000, Loss: 0.000074\n",
      "Epoch: 14200/30000, Loss: 0.000112\n",
      "Epoch: 14210/30000, Loss: 0.000192\n",
      "Epoch: 14220/30000, Loss: 0.000124\n",
      "Epoch: 14230/30000, Loss: 0.000082\n",
      "Epoch: 14240/30000, Loss: 0.000072\n",
      "Epoch: 14250/30000, Loss: 0.000072\n",
      "Epoch: 14260/30000, Loss: 0.000075\n",
      "Epoch: 14270/30000, Loss: 0.000100\n",
      "Epoch: 14280/30000, Loss: 0.000181\n",
      "Epoch: 14290/30000, Loss: 0.000084\n",
      "Epoch: 14300/30000, Loss: 0.000083\n",
      "Epoch: 14310/30000, Loss: 0.000070\n",
      "Epoch: 14320/30000, Loss: 0.000084\n",
      "Epoch: 14330/30000, Loss: 0.000130\n",
      "Epoch: 14340/30000, Loss: 0.000092\n",
      "Epoch: 14350/30000, Loss: 0.000079\n",
      "Epoch: 14360/30000, Loss: 0.000118\n",
      "Epoch: 14370/30000, Loss: 0.000089\n",
      "Epoch: 14380/30000, Loss: 0.000073\n",
      "Epoch: 14390/30000, Loss: 0.000108\n",
      "Epoch: 14400/30000, Loss: 0.000130\n",
      "Epoch: 14410/30000, Loss: 0.000072\n",
      "Epoch: 14420/30000, Loss: 0.000100\n",
      "Epoch: 14430/30000, Loss: 0.000091\n",
      "Epoch: 14440/30000, Loss: 0.000069\n",
      "Epoch: 14450/30000, Loss: 0.000067\n",
      "Epoch: 14460/30000, Loss: 0.000068\n",
      "Epoch: 14470/30000, Loss: 0.000144\n",
      "Epoch: 14480/30000, Loss: 0.000101\n",
      "Epoch: 14490/30000, Loss: 0.000131\n",
      "Epoch: 14500/30000, Loss: 0.000106\n",
      "Epoch: 14510/30000, Loss: 0.000074\n",
      "Epoch: 14520/30000, Loss: 0.000067\n",
      "Epoch: 14530/30000, Loss: 0.000067\n",
      "Epoch: 14540/30000, Loss: 0.000067\n",
      "Epoch: 14550/30000, Loss: 0.000067\n",
      "Epoch: 14560/30000, Loss: 0.000067\n",
      "Epoch: 14570/30000, Loss: 0.000067\n",
      "Epoch: 14580/30000, Loss: 0.000067\n",
      "Epoch: 14590/30000, Loss: 0.000067\n",
      "Epoch: 14600/30000, Loss: 0.000094\n",
      "Epoch: 14610/30000, Loss: 0.000371\n",
      "Epoch: 14620/30000, Loss: 0.000081\n",
      "Epoch: 14630/30000, Loss: 0.000072\n",
      "Epoch: 14640/30000, Loss: 0.000074\n",
      "Epoch: 14650/30000, Loss: 0.000070\n",
      "Epoch: 14660/30000, Loss: 0.000068\n",
      "Epoch: 14670/30000, Loss: 0.000066\n",
      "Epoch: 14680/30000, Loss: 0.000067\n",
      "Epoch: 14690/30000, Loss: 0.000066\n",
      "Epoch: 14700/30000, Loss: 0.000067\n",
      "Epoch: 14710/30000, Loss: 0.000069\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 14720/30000, Loss: 0.000138\n",
      "Epoch: 14730/30000, Loss: 0.000123\n",
      "Epoch: 14740/30000, Loss: 0.000071\n",
      "Epoch: 14750/30000, Loss: 0.000070\n",
      "Epoch: 14760/30000, Loss: 0.000072\n",
      "Epoch: 14770/30000, Loss: 0.000070\n",
      "Epoch: 14780/30000, Loss: 0.000066\n",
      "Epoch: 14790/30000, Loss: 0.000067\n",
      "Epoch: 14800/30000, Loss: 0.000068\n",
      "Epoch: 14810/30000, Loss: 0.000081\n",
      "Epoch: 14820/30000, Loss: 0.000259\n",
      "Epoch: 14830/30000, Loss: 0.000107\n",
      "Epoch: 14840/30000, Loss: 0.000074\n",
      "Epoch: 14850/30000, Loss: 0.000067\n",
      "Epoch: 14860/30000, Loss: 0.000073\n",
      "Epoch: 14870/30000, Loss: 0.000066\n",
      "Epoch: 14880/30000, Loss: 0.000069\n",
      "Epoch: 14890/30000, Loss: 0.000079\n",
      "Epoch: 14900/30000, Loss: 0.000179\n",
      "Epoch: 14910/30000, Loss: 0.000067\n",
      "Epoch: 14920/30000, Loss: 0.000089\n",
      "Epoch: 14930/30000, Loss: 0.000076\n",
      "Epoch: 14940/30000, Loss: 0.000072\n",
      "Epoch: 14950/30000, Loss: 0.000066\n",
      "Epoch: 14960/30000, Loss: 0.000065\n",
      "Epoch: 14970/30000, Loss: 0.000066\n",
      "Epoch: 14980/30000, Loss: 0.000123\n",
      "Epoch: 14990/30000, Loss: 0.000175\n",
      "Epoch: 15000/30000, Loss: 0.000118\n",
      "Epoch: 15010/30000, Loss: 0.000108\n",
      "Epoch: 15020/30000, Loss: 0.000070\n",
      "Epoch: 15030/30000, Loss: 0.000066\n",
      "Epoch: 15040/30000, Loss: 0.000066\n",
      "Epoch: 15050/30000, Loss: 0.000066\n",
      "Epoch: 15060/30000, Loss: 0.000065\n",
      "Epoch: 15070/30000, Loss: 0.000065\n",
      "Epoch: 15080/30000, Loss: 0.000065\n",
      "Epoch: 15090/30000, Loss: 0.000065\n",
      "Epoch: 15100/30000, Loss: 0.000065\n",
      "Epoch: 15110/30000, Loss: 0.000066\n",
      "Epoch: 15120/30000, Loss: 0.000091\n",
      "Epoch: 15130/30000, Loss: 0.000429\n",
      "Epoch: 15140/30000, Loss: 0.000073\n",
      "Epoch: 15150/30000, Loss: 0.000086\n",
      "Epoch: 15160/30000, Loss: 0.000083\n",
      "Epoch: 15170/30000, Loss: 0.000071\n",
      "Epoch: 15180/30000, Loss: 0.000067\n",
      "Epoch: 15190/30000, Loss: 0.000066\n",
      "Epoch: 15200/30000, Loss: 0.000065\n",
      "Epoch: 15210/30000, Loss: 0.000065\n",
      "Epoch: 15220/30000, Loss: 0.000065\n",
      "Epoch: 15230/30000, Loss: 0.000065\n",
      "Epoch: 15240/30000, Loss: 0.000065\n",
      "Epoch: 15250/30000, Loss: 0.000071\n",
      "Epoch: 15260/30000, Loss: 0.000335\n",
      "Epoch: 15270/30000, Loss: 0.000202\n",
      "Epoch: 15280/30000, Loss: 0.000117\n",
      "Epoch: 15290/30000, Loss: 0.000071\n",
      "Epoch: 15300/30000, Loss: 0.000065\n",
      "Epoch: 15310/30000, Loss: 0.000065\n",
      "Epoch: 15320/30000, Loss: 0.000065\n",
      "Epoch: 15330/30000, Loss: 0.000065\n",
      "Epoch: 15340/30000, Loss: 0.000065\n",
      "Epoch: 15350/30000, Loss: 0.000065\n",
      "Epoch: 15360/30000, Loss: 0.000065\n",
      "Epoch: 15370/30000, Loss: 0.000065\n",
      "Epoch: 15380/30000, Loss: 0.000065\n",
      "Epoch: 15390/30000, Loss: 0.000086\n",
      "Epoch: 15400/30000, Loss: 0.000527\n",
      "Epoch: 15410/30000, Loss: 0.000095\n",
      "Epoch: 15420/30000, Loss: 0.000116\n",
      "Epoch: 15430/30000, Loss: 0.000067\n",
      "Epoch: 15440/30000, Loss: 0.000073\n",
      "Epoch: 15450/30000, Loss: 0.000065\n",
      "Epoch: 15460/30000, Loss: 0.000065\n",
      "Epoch: 15470/30000, Loss: 0.000065\n",
      "Epoch: 15480/30000, Loss: 0.000064\n",
      "Epoch: 15490/30000, Loss: 0.000064\n",
      "Epoch: 15500/30000, Loss: 0.000064\n",
      "Epoch: 15510/30000, Loss: 0.000064\n",
      "Epoch: 15520/30000, Loss: 0.000064\n",
      "Epoch: 15530/30000, Loss: 0.000064\n",
      "Epoch: 15540/30000, Loss: 0.000064\n",
      "Epoch: 15550/30000, Loss: 0.000065\n",
      "Epoch: 15560/30000, Loss: 0.000156\n",
      "Epoch: 15570/30000, Loss: 0.000071\n",
      "Epoch: 15580/30000, Loss: 0.000178\n",
      "Epoch: 15590/30000, Loss: 0.000065\n",
      "Epoch: 15600/30000, Loss: 0.000077\n",
      "Epoch: 15610/30000, Loss: 0.000068\n",
      "Epoch: 15620/30000, Loss: 0.000064\n",
      "Epoch: 15630/30000, Loss: 0.000064\n",
      "Epoch: 15640/30000, Loss: 0.000064\n",
      "Epoch: 15650/30000, Loss: 0.000064\n",
      "Epoch: 15660/30000, Loss: 0.000064\n",
      "Epoch: 15670/30000, Loss: 0.000064\n",
      "Epoch: 15680/30000, Loss: 0.000064\n",
      "Epoch: 15690/30000, Loss: 0.000064\n",
      "Epoch: 15700/30000, Loss: 0.000064\n",
      "Epoch: 15710/30000, Loss: 0.000064\n",
      "Epoch: 15720/30000, Loss: 0.000066\n",
      "Epoch: 15730/30000, Loss: 0.000453\n",
      "Epoch: 15740/30000, Loss: 0.000332\n",
      "Epoch: 15750/30000, Loss: 0.000118\n",
      "Epoch: 15760/30000, Loss: 0.000075\n",
      "Epoch: 15770/30000, Loss: 0.000076\n",
      "Epoch: 15780/30000, Loss: 0.000065\n",
      "Epoch: 15790/30000, Loss: 0.000065\n",
      "Epoch: 15800/30000, Loss: 0.000064\n",
      "Epoch: 15810/30000, Loss: 0.000064\n",
      "Epoch: 15820/30000, Loss: 0.000064\n",
      "Epoch: 15830/30000, Loss: 0.000064\n",
      "Epoch: 15840/30000, Loss: 0.000064\n",
      "Epoch: 15850/30000, Loss: 0.000064\n",
      "Epoch: 15860/30000, Loss: 0.000064\n",
      "Epoch: 15870/30000, Loss: 0.000064\n",
      "Epoch: 15880/30000, Loss: 0.000064\n",
      "Epoch: 15890/30000, Loss: 0.000064\n",
      "Epoch: 15900/30000, Loss: 0.000064\n",
      "Epoch: 15910/30000, Loss: 0.000130\n",
      "Epoch: 15920/30000, Loss: 0.000101\n",
      "Epoch: 15930/30000, Loss: 0.000169\n",
      "Epoch: 15940/30000, Loss: 0.000079\n",
      "Epoch: 15950/30000, Loss: 0.000067\n",
      "Epoch: 15960/30000, Loss: 0.000069\n",
      "Epoch: 15970/30000, Loss: 0.000065\n",
      "Epoch: 15980/30000, Loss: 0.000064\n",
      "Epoch: 15990/30000, Loss: 0.000063\n",
      "Epoch: 16000/30000, Loss: 0.000063\n",
      "Epoch: 16010/30000, Loss: 0.000063\n",
      "Epoch: 16020/30000, Loss: 0.000063\n",
      "Epoch: 16030/30000, Loss: 0.000063\n",
      "Epoch: 16040/30000, Loss: 0.000063\n",
      "Epoch: 16050/30000, Loss: 0.000064\n",
      "Epoch: 16060/30000, Loss: 0.000102\n",
      "Epoch: 16070/30000, Loss: 0.000291\n",
      "Epoch: 16080/30000, Loss: 0.000066\n",
      "Epoch: 16090/30000, Loss: 0.000091\n",
      "Epoch: 16100/30000, Loss: 0.000079\n",
      "Epoch: 16110/30000, Loss: 0.000068\n",
      "Epoch: 16120/30000, Loss: 0.000065\n",
      "Epoch: 16130/30000, Loss: 0.000064\n",
      "Epoch: 16140/30000, Loss: 0.000063\n",
      "Epoch: 16150/30000, Loss: 0.000063\n",
      "Epoch: 16160/30000, Loss: 0.000063\n",
      "Epoch: 16170/30000, Loss: 0.000063\n",
      "Epoch: 16180/30000, Loss: 0.000064\n",
      "Epoch: 16190/30000, Loss: 0.000105\n",
      "Epoch: 16200/30000, Loss: 0.000279\n",
      "Epoch: 16210/30000, Loss: 0.000077\n",
      "Epoch: 16220/30000, Loss: 0.000064\n",
      "Epoch: 16230/30000, Loss: 0.000064\n",
      "Epoch: 16240/30000, Loss: 0.000063\n",
      "Epoch: 16250/30000, Loss: 0.000063\n",
      "Epoch: 16260/30000, Loss: 0.000064\n",
      "Epoch: 16270/30000, Loss: 0.000063\n",
      "Epoch: 16280/30000, Loss: 0.000063\n",
      "Epoch: 16290/30000, Loss: 0.000064\n",
      "Epoch: 16300/30000, Loss: 0.000072\n",
      "Epoch: 16310/30000, Loss: 0.000288\n",
      "Epoch: 16320/30000, Loss: 0.000129\n",
      "Epoch: 16330/30000, Loss: 0.000104\n",
      "Epoch: 16340/30000, Loss: 0.000078\n",
      "Epoch: 16350/30000, Loss: 0.000067\n",
      "Epoch: 16360/30000, Loss: 0.000063\n",
      "Epoch: 16370/30000, Loss: 0.000064\n",
      "Epoch: 16380/30000, Loss: 0.000063\n",
      "Epoch: 16390/30000, Loss: 0.000063\n",
      "Epoch: 16400/30000, Loss: 0.000068\n",
      "Epoch: 16410/30000, Loss: 0.000159\n",
      "Epoch: 16420/30000, Loss: 0.000083\n",
      "Epoch: 16430/30000, Loss: 0.000067\n",
      "Epoch: 16440/30000, Loss: 0.000070\n",
      "Epoch: 16450/30000, Loss: 0.000071\n",
      "Epoch: 16460/30000, Loss: 0.000065\n",
      "Epoch: 16470/30000, Loss: 0.000063\n",
      "Epoch: 16480/30000, Loss: 0.000063\n",
      "Epoch: 16490/30000, Loss: 0.000065\n",
      "Epoch: 16500/30000, Loss: 0.000104\n",
      "Epoch: 16510/30000, Loss: 0.000247\n",
      "Epoch: 16520/30000, Loss: 0.000127\n",
      "Epoch: 16530/30000, Loss: 0.000092\n",
      "Epoch: 16540/30000, Loss: 0.000070\n",
      "Epoch: 16550/30000, Loss: 0.000062\n",
      "Epoch: 16560/30000, Loss: 0.000065\n",
      "Epoch: 16570/30000, Loss: 0.000063\n",
      "Epoch: 16580/30000, Loss: 0.000065\n",
      "Epoch: 16590/30000, Loss: 0.000105\n",
      "Epoch: 16600/30000, Loss: 0.000235\n",
      "Epoch: 16610/30000, Loss: 0.000126\n",
      "Epoch: 16620/30000, Loss: 0.000090\n",
      "Epoch: 16630/30000, Loss: 0.000068\n",
      "Epoch: 16640/30000, Loss: 0.000063\n",
      "Epoch: 16650/30000, Loss: 0.001724\n",
      "Epoch: 16660/30000, Loss: 0.001155\n",
      "Epoch: 16670/30000, Loss: 0.000546\n",
      "Epoch: 16680/30000, Loss: 0.000162\n",
      "Epoch: 16690/30000, Loss: 0.000080\n",
      "Epoch: 16700/30000, Loss: 0.000081\n",
      "Epoch: 16710/30000, Loss: 0.000071\n",
      "Epoch: 16720/30000, Loss: 0.000065\n",
      "Epoch: 16730/30000, Loss: 0.000065\n",
      "Epoch: 16740/30000, Loss: 0.000064\n",
      "Epoch: 16750/30000, Loss: 0.000064\n",
      "Epoch: 16760/30000, Loss: 0.000064\n",
      "Epoch: 16770/30000, Loss: 0.000064\n",
      "Epoch: 16780/30000, Loss: 0.000064\n",
      "Epoch: 16790/30000, Loss: 0.000063\n",
      "Epoch: 16800/30000, Loss: 0.000063\n",
      "Epoch: 16810/30000, Loss: 0.000063\n",
      "Epoch: 16820/30000, Loss: 0.000063\n",
      "Epoch: 16830/30000, Loss: 0.000063\n",
      "Epoch: 16840/30000, Loss: 0.000063\n",
      "Epoch: 16850/30000, Loss: 0.000063\n",
      "Epoch: 16860/30000, Loss: 0.000063\n",
      "Epoch: 16870/30000, Loss: 0.000063\n",
      "Epoch: 16880/30000, Loss: 0.000063\n",
      "Epoch: 16890/30000, Loss: 0.000063\n",
      "Epoch: 16900/30000, Loss: 0.000063\n",
      "Epoch: 16910/30000, Loss: 0.000063\n",
      "Epoch: 16920/30000, Loss: 0.000063\n",
      "Epoch: 16930/30000, Loss: 0.000063\n",
      "Epoch: 16940/30000, Loss: 0.000063\n",
      "Epoch: 16950/30000, Loss: 0.000063\n",
      "Epoch: 16960/30000, Loss: 0.000063\n",
      "Epoch: 16970/30000, Loss: 0.000063\n",
      "Epoch: 16980/30000, Loss: 0.000063\n",
      "Epoch: 16990/30000, Loss: 0.000063\n",
      "Epoch: 17000/30000, Loss: 0.000063\n",
      "Epoch: 17010/30000, Loss: 0.000062\n",
      "Epoch: 17020/30000, Loss: 0.000062\n",
      "Epoch: 17030/30000, Loss: 0.000062\n",
      "Epoch: 17040/30000, Loss: 0.000062\n",
      "Epoch: 17050/30000, Loss: 0.000062\n",
      "Epoch: 17060/30000, Loss: 0.000062\n",
      "Epoch: 17070/30000, Loss: 0.000062\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 17080/30000, Loss: 0.000062\n",
      "Epoch: 17090/30000, Loss: 0.000062\n",
      "Epoch: 17100/30000, Loss: 0.000062\n",
      "Epoch: 17110/30000, Loss: 0.000062\n",
      "Epoch: 17120/30000, Loss: 0.000062\n",
      "Epoch: 17130/30000, Loss: 0.000062\n",
      "Epoch: 17140/30000, Loss: 0.000062\n",
      "Epoch: 17150/30000, Loss: 0.000064\n",
      "Epoch: 17160/30000, Loss: 0.000063\n",
      "Epoch: 17170/30000, Loss: 0.000063\n",
      "Epoch: 17180/30000, Loss: 0.000062\n",
      "Epoch: 17190/30000, Loss: 0.000062\n",
      "Epoch: 17200/30000, Loss: 0.000062\n",
      "Epoch: 17210/30000, Loss: 0.000062\n",
      "Epoch: 17220/30000, Loss: 0.000062\n",
      "Epoch: 17230/30000, Loss: 0.000062\n",
      "Epoch: 17240/30000, Loss: 0.000062\n",
      "Epoch: 17250/30000, Loss: 0.000062\n",
      "Epoch: 17260/30000, Loss: 0.000062\n",
      "Epoch: 17270/30000, Loss: 0.000062\n",
      "Epoch: 17280/30000, Loss: 0.000062\n",
      "Epoch: 17290/30000, Loss: 0.000062\n",
      "Epoch: 17300/30000, Loss: 0.000061\n",
      "Epoch: 17310/30000, Loss: 0.000061\n",
      "Epoch: 17320/30000, Loss: 0.000061\n",
      "Epoch: 17330/30000, Loss: 0.000061\n",
      "Epoch: 17340/30000, Loss: 0.000063\n",
      "Epoch: 17350/30000, Loss: 0.000374\n",
      "Epoch: 17360/30000, Loss: 0.000239\n",
      "Epoch: 17370/30000, Loss: 0.000072\n",
      "Epoch: 17380/30000, Loss: 0.000089\n",
      "Epoch: 17390/30000, Loss: 0.000064\n",
      "Epoch: 17400/30000, Loss: 0.000062\n",
      "Epoch: 17410/30000, Loss: 0.000062\n",
      "Epoch: 17420/30000, Loss: 0.000062\n",
      "Epoch: 17430/30000, Loss: 0.000062\n",
      "Epoch: 17440/30000, Loss: 0.000061\n",
      "Epoch: 17450/30000, Loss: 0.000061\n",
      "Epoch: 17460/30000, Loss: 0.000061\n",
      "Epoch: 17470/30000, Loss: 0.000061\n",
      "Epoch: 17480/30000, Loss: 0.000061\n",
      "Epoch: 17490/30000, Loss: 0.000064\n",
      "Epoch: 17500/30000, Loss: 0.000229\n",
      "Epoch: 17510/30000, Loss: 0.000117\n",
      "Epoch: 17520/30000, Loss: 0.000131\n",
      "Epoch: 17530/30000, Loss: 0.000077\n",
      "Epoch: 17540/30000, Loss: 0.000064\n",
      "Epoch: 17550/30000, Loss: 0.000062\n",
      "Epoch: 17560/30000, Loss: 0.000062\n",
      "Epoch: 17570/30000, Loss: 0.000062\n",
      "Epoch: 17580/30000, Loss: 0.000061\n",
      "Epoch: 17590/30000, Loss: 0.000061\n",
      "Epoch: 17600/30000, Loss: 0.000061\n",
      "Epoch: 17610/30000, Loss: 0.000061\n",
      "Epoch: 17620/30000, Loss: 0.000062\n",
      "Epoch: 17630/30000, Loss: 0.000117\n",
      "Epoch: 17640/30000, Loss: 0.000158\n",
      "Epoch: 17650/30000, Loss: 0.000132\n",
      "Epoch: 17660/30000, Loss: 0.000094\n",
      "Epoch: 17670/30000, Loss: 0.000061\n",
      "Epoch: 17680/30000, Loss: 0.000064\n",
      "Epoch: 17690/30000, Loss: 0.000063\n",
      "Epoch: 17700/30000, Loss: 0.000062\n",
      "Epoch: 17710/30000, Loss: 0.000061\n",
      "Epoch: 17720/30000, Loss: 0.000061\n",
      "Epoch: 17730/30000, Loss: 0.000061\n",
      "Epoch: 17740/30000, Loss: 0.000061\n",
      "Epoch: 17750/30000, Loss: 0.000061\n",
      "Epoch: 17760/30000, Loss: 0.000061\n",
      "Epoch: 17770/30000, Loss: 0.000062\n",
      "Epoch: 17780/30000, Loss: 0.000141\n",
      "Epoch: 17790/30000, Loss: 0.000083\n",
      "Epoch: 17800/30000, Loss: 0.000130\n",
      "Epoch: 17810/30000, Loss: 0.000093\n",
      "Epoch: 17820/30000, Loss: 0.000063\n",
      "Epoch: 17830/30000, Loss: 0.000061\n",
      "Epoch: 17840/30000, Loss: 0.000061\n",
      "Epoch: 17850/30000, Loss: 0.000061\n",
      "Epoch: 17860/30000, Loss: 0.000061\n",
      "Epoch: 17870/30000, Loss: 0.000061\n",
      "Epoch: 17880/30000, Loss: 0.000061\n",
      "Epoch: 17890/30000, Loss: 0.000061\n",
      "Epoch: 17900/30000, Loss: 0.000061\n",
      "Epoch: 17910/30000, Loss: 0.000064\n",
      "Epoch: 17920/30000, Loss: 0.000191\n",
      "Epoch: 17930/30000, Loss: 0.000068\n",
      "Epoch: 17940/30000, Loss: 0.000120\n",
      "Epoch: 17950/30000, Loss: 0.000090\n",
      "Epoch: 17960/30000, Loss: 0.000069\n",
      "Epoch: 17970/30000, Loss: 0.000064\n",
      "Epoch: 17980/30000, Loss: 0.000062\n",
      "Epoch: 17990/30000, Loss: 0.000061\n",
      "Epoch: 18000/30000, Loss: 0.000061\n",
      "Epoch: 18010/30000, Loss: 0.000061\n",
      "Epoch: 18020/30000, Loss: 0.000069\n",
      "Epoch: 18030/30000, Loss: 0.000111\n",
      "Epoch: 18040/30000, Loss: 0.000118\n",
      "Epoch: 18050/30000, Loss: 0.000076\n",
      "Epoch: 18060/30000, Loss: 0.000081\n",
      "Epoch: 18070/30000, Loss: 0.000062\n",
      "Epoch: 18080/30000, Loss: 0.000063\n",
      "Epoch: 18090/30000, Loss: 0.000190\n",
      "Epoch: 18100/30000, Loss: 0.000062\n",
      "Epoch: 18110/30000, Loss: 0.000062\n",
      "Epoch: 18120/30000, Loss: 0.000071\n",
      "Epoch: 18130/30000, Loss: 0.000067\n",
      "Epoch: 18140/30000, Loss: 0.000061\n",
      "Epoch: 18150/30000, Loss: 0.000061\n",
      "Epoch: 18160/30000, Loss: 0.000066\n",
      "Epoch: 18170/30000, Loss: 0.000127\n",
      "Epoch: 18180/30000, Loss: 0.000135\n",
      "Epoch: 18190/30000, Loss: 0.000102\n",
      "Epoch: 18200/30000, Loss: 0.000082\n",
      "Epoch: 18210/30000, Loss: 0.000062\n",
      "Epoch: 18220/30000, Loss: 0.000064\n",
      "Epoch: 18230/30000, Loss: 0.000060\n",
      "Epoch: 18240/30000, Loss: 0.000062\n",
      "Epoch: 18250/30000, Loss: 0.000082\n",
      "Epoch: 18260/30000, Loss: 0.000285\n",
      "Epoch: 18270/30000, Loss: 0.000132\n",
      "Epoch: 18280/30000, Loss: 0.000086\n",
      "Epoch: 18290/30000, Loss: 0.000064\n",
      "Epoch: 18300/30000, Loss: 0.000061\n",
      "Epoch: 18310/30000, Loss: 0.000063\n",
      "Epoch: 18320/30000, Loss: 0.000060\n",
      "Epoch: 18330/30000, Loss: 0.000060\n",
      "Epoch: 18340/30000, Loss: 0.000061\n",
      "Epoch: 18350/30000, Loss: 0.000102\n",
      "Epoch: 18360/30000, Loss: 0.000289\n",
      "Epoch: 18370/30000, Loss: 0.000068\n",
      "Epoch: 18380/30000, Loss: 0.000064\n",
      "Epoch: 18390/30000, Loss: 0.000066\n",
      "Epoch: 18400/30000, Loss: 0.000063\n",
      "Epoch: 18410/30000, Loss: 0.000061\n",
      "Epoch: 18420/30000, Loss: 0.000060\n",
      "Epoch: 18430/30000, Loss: 0.000060\n",
      "Epoch: 18440/30000, Loss: 0.000060\n",
      "Epoch: 18450/30000, Loss: 0.000060\n",
      "Epoch: 18460/30000, Loss: 0.000062\n",
      "Epoch: 18470/30000, Loss: 0.000097\n",
      "Epoch: 18480/30000, Loss: 0.000299\n",
      "Epoch: 18490/30000, Loss: 0.000108\n",
      "Epoch: 18500/30000, Loss: 0.000072\n",
      "Epoch: 18510/30000, Loss: 0.000065\n",
      "Epoch: 18520/30000, Loss: 0.000064\n",
      "Epoch: 18530/30000, Loss: 0.000062\n",
      "Epoch: 18540/30000, Loss: 0.000060\n",
      "Epoch: 18550/30000, Loss: 0.000061\n",
      "Epoch: 18560/30000, Loss: 0.000061\n",
      "Epoch: 18570/30000, Loss: 0.000067\n",
      "Epoch: 18580/30000, Loss: 0.000206\n",
      "Epoch: 18590/30000, Loss: 0.000064\n",
      "Epoch: 18600/30000, Loss: 0.000063\n",
      "Epoch: 18610/30000, Loss: 0.000060\n",
      "Epoch: 18620/30000, Loss: 0.000063\n",
      "Epoch: 18630/30000, Loss: 0.000063\n",
      "Epoch: 18640/30000, Loss: 0.000060\n",
      "Epoch: 18650/30000, Loss: 0.000061\n",
      "Epoch: 18660/30000, Loss: 0.000064\n",
      "Epoch: 18670/30000, Loss: 0.000113\n",
      "Epoch: 18680/30000, Loss: 0.000180\n",
      "Epoch: 18690/30000, Loss: 0.000110\n",
      "Epoch: 18700/30000, Loss: 0.000085\n",
      "Epoch: 18710/30000, Loss: 0.000065\n",
      "Epoch: 18720/30000, Loss: 0.000061\n",
      "Epoch: 18730/30000, Loss: 0.000061\n",
      "Epoch: 18740/30000, Loss: 0.000063\n",
      "Epoch: 18750/30000, Loss: 0.000077\n",
      "Epoch: 18760/30000, Loss: 0.000200\n",
      "Epoch: 18770/30000, Loss: 0.000064\n",
      "Epoch: 18780/30000, Loss: 0.000066\n",
      "Epoch: 18790/30000, Loss: 0.000074\n",
      "Epoch: 18800/30000, Loss: 0.000060\n",
      "Epoch: 18810/30000, Loss: 0.000063\n",
      "Epoch: 18820/30000, Loss: 0.000073\n",
      "Epoch: 18830/30000, Loss: 0.000149\n",
      "Epoch: 18840/30000, Loss: 0.000075\n",
      "Epoch: 18850/30000, Loss: 0.000094\n",
      "Epoch: 18860/30000, Loss: 0.000060\n",
      "Epoch: 18870/30000, Loss: 0.000070\n",
      "Epoch: 18880/30000, Loss: 0.000073\n",
      "Epoch: 18890/30000, Loss: 0.000089\n",
      "Epoch: 18900/30000, Loss: 0.000136\n",
      "Epoch: 18910/30000, Loss: 0.000061\n",
      "Epoch: 18920/30000, Loss: 0.000081\n",
      "Epoch: 18930/30000, Loss: 0.000095\n",
      "Epoch: 18940/30000, Loss: 0.000069\n",
      "Epoch: 18950/30000, Loss: 0.000060\n",
      "Epoch: 18960/30000, Loss: 0.000060\n",
      "Epoch: 18970/30000, Loss: 0.000075\n",
      "Epoch: 18980/30000, Loss: 0.000448\n",
      "Epoch: 18990/30000, Loss: 0.000166\n",
      "Epoch: 19000/30000, Loss: 0.000063\n",
      "Epoch: 19010/30000, Loss: 0.000062\n",
      "Epoch: 19020/30000, Loss: 0.000063\n",
      "Epoch: 19030/30000, Loss: 0.000061\n",
      "Epoch: 19040/30000, Loss: 0.000060\n",
      "Epoch: 19050/30000, Loss: 0.000059\n",
      "Epoch: 19060/30000, Loss: 0.000059\n",
      "Epoch: 19070/30000, Loss: 0.000059\n",
      "Epoch: 19080/30000, Loss: 0.000059\n",
      "Epoch: 19090/30000, Loss: 0.000060\n",
      "Epoch: 19100/30000, Loss: 0.000078\n",
      "Epoch: 19110/30000, Loss: 0.000429\n",
      "Epoch: 19120/30000, Loss: 0.000152\n",
      "Epoch: 19130/30000, Loss: 0.000068\n",
      "Epoch: 19140/30000, Loss: 0.000059\n",
      "Epoch: 19150/30000, Loss: 0.000059\n",
      "Epoch: 19160/30000, Loss: 0.000059\n",
      "Epoch: 19170/30000, Loss: 0.000059\n",
      "Epoch: 19180/30000, Loss: 0.000060\n",
      "Epoch: 19190/30000, Loss: 0.000059\n",
      "Epoch: 19200/30000, Loss: 0.000059\n",
      "Epoch: 19210/30000, Loss: 0.000060\n",
      "Epoch: 19220/30000, Loss: 0.000073\n",
      "Epoch: 19230/30000, Loss: 0.000350\n",
      "Epoch: 19240/30000, Loss: 0.000164\n",
      "Epoch: 19250/30000, Loss: 0.000106\n",
      "Epoch: 19260/30000, Loss: 0.000076\n",
      "Epoch: 19270/30000, Loss: 0.000066\n",
      "Epoch: 19280/30000, Loss: 0.000061\n",
      "Epoch: 19290/30000, Loss: 0.000059\n",
      "Epoch: 19300/30000, Loss: 0.000059\n",
      "Epoch: 19310/30000, Loss: 0.000059\n",
      "Epoch: 19320/30000, Loss: 0.000059\n",
      "Epoch: 19330/30000, Loss: 0.000082\n",
      "Epoch: 19340/30000, Loss: 0.000330\n",
      "Epoch: 19350/30000, Loss: 0.000149\n",
      "Epoch: 19360/30000, Loss: 0.000094\n",
      "Epoch: 19370/30000, Loss: 0.000073\n",
      "Epoch: 19380/30000, Loss: 0.000064\n",
      "Epoch: 19390/30000, Loss: 0.000060\n",
      "Epoch: 19400/30000, Loss: 0.000059\n",
      "Epoch: 19410/30000, Loss: 0.000059\n",
      "Epoch: 19420/30000, Loss: 0.000060\n",
      "Epoch: 19430/30000, Loss: 0.000068\n",
      "Epoch: 19440/30000, Loss: 0.000246\n",
      "Epoch: 19450/30000, Loss: 0.000090\n",
      "Epoch: 19460/30000, Loss: 0.000081\n",
      "Epoch: 19470/30000, Loss: 0.000064\n",
      "Epoch: 19480/30000, Loss: 0.000059\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 19490/30000, Loss: 0.000060\n",
      "Epoch: 19500/30000, Loss: 0.000060\n",
      "Epoch: 19510/30000, Loss: 0.000065\n",
      "Epoch: 19520/30000, Loss: 0.000078\n",
      "Epoch: 19530/30000, Loss: 0.000116\n",
      "Epoch: 19540/30000, Loss: 0.000084\n",
      "Epoch: 19550/30000, Loss: 0.000064\n",
      "Epoch: 19560/30000, Loss: 0.000099\n",
      "Epoch: 19570/30000, Loss: 0.000109\n",
      "Epoch: 19580/30000, Loss: 0.000062\n",
      "Epoch: 19590/30000, Loss: 0.000086\n",
      "Epoch: 19600/30000, Loss: 0.000095\n",
      "Epoch: 19610/30000, Loss: 0.000067\n",
      "Epoch: 19620/30000, Loss: 0.000081\n",
      "Epoch: 19630/30000, Loss: 0.000176\n",
      "Epoch: 19640/30000, Loss: 0.000064\n",
      "Epoch: 19650/30000, Loss: 0.000073\n",
      "Epoch: 19660/30000, Loss: 0.000063\n",
      "Epoch: 19670/30000, Loss: 0.000070\n",
      "Epoch: 19680/30000, Loss: 0.000079\n",
      "Epoch: 19690/30000, Loss: 0.000117\n",
      "Epoch: 19700/30000, Loss: 0.000088\n",
      "Epoch: 19710/30000, Loss: 0.000065\n",
      "Epoch: 19720/30000, Loss: 0.000093\n",
      "Epoch: 19730/30000, Loss: 0.000100\n",
      "Epoch: 19740/30000, Loss: 0.000059\n",
      "Epoch: 19750/30000, Loss: 0.000067\n",
      "Epoch: 19760/30000, Loss: 0.000133\n",
      "Epoch: 19770/30000, Loss: 0.000097\n",
      "Epoch: 19780/30000, Loss: 0.000096\n",
      "Epoch: 19790/30000, Loss: 0.000060\n",
      "Epoch: 19800/30000, Loss: 0.000069\n",
      "Epoch: 19810/30000, Loss: 0.000063\n",
      "Epoch: 19820/30000, Loss: 0.000065\n",
      "Epoch: 19830/30000, Loss: 0.000120\n",
      "Epoch: 19840/30000, Loss: 0.000148\n",
      "Epoch: 19850/30000, Loss: 0.000104\n",
      "Epoch: 19860/30000, Loss: 0.000079\n",
      "Epoch: 19870/30000, Loss: 0.000059\n",
      "Epoch: 19880/30000, Loss: 0.000063\n",
      "Epoch: 19890/30000, Loss: 0.000059\n",
      "Epoch: 19900/30000, Loss: 0.000058\n",
      "Epoch: 19910/30000, Loss: 0.000059\n",
      "Epoch: 19920/30000, Loss: 0.000075\n",
      "Epoch: 19930/30000, Loss: 0.000543\n",
      "Epoch: 19940/30000, Loss: 0.000112\n",
      "Epoch: 19950/30000, Loss: 0.000076\n",
      "Epoch: 19960/30000, Loss: 0.000080\n",
      "Epoch: 19970/30000, Loss: 0.000062\n",
      "Epoch: 19980/30000, Loss: 0.000058\n",
      "Epoch: 19990/30000, Loss: 0.000058\n",
      "Epoch: 20000/30000, Loss: 0.000058\n",
      "Epoch: 20010/30000, Loss: 0.000058\n",
      "Epoch: 20020/30000, Loss: 0.000058\n",
      "Epoch: 20030/30000, Loss: 0.000058\n",
      "Epoch: 20040/30000, Loss: 0.000058\n",
      "Epoch: 20050/30000, Loss: 0.000058\n",
      "Epoch: 20060/30000, Loss: 0.000061\n",
      "Epoch: 20070/30000, Loss: 0.000185\n",
      "Epoch: 20080/30000, Loss: 0.000065\n",
      "Epoch: 20090/30000, Loss: 0.000131\n",
      "Epoch: 20100/30000, Loss: 0.000085\n",
      "Epoch: 20110/30000, Loss: 0.000062\n",
      "Epoch: 20120/30000, Loss: 0.000058\n",
      "Epoch: 20130/30000, Loss: 0.000058\n",
      "Epoch: 20140/30000, Loss: 0.000058\n",
      "Epoch: 20150/30000, Loss: 0.000058\n",
      "Epoch: 20160/30000, Loss: 0.000058\n",
      "Epoch: 20170/30000, Loss: 0.000058\n",
      "Epoch: 20180/30000, Loss: 0.000058\n",
      "Epoch: 20190/30000, Loss: 0.000060\n",
      "Epoch: 20200/30000, Loss: 0.000148\n",
      "Epoch: 20210/30000, Loss: 0.000084\n",
      "Epoch: 20220/30000, Loss: 0.000072\n",
      "Epoch: 20230/30000, Loss: 0.000075\n",
      "Epoch: 20240/30000, Loss: 0.000066\n",
      "Epoch: 20250/30000, Loss: 0.000061\n",
      "Epoch: 20260/30000, Loss: 0.000058\n",
      "Epoch: 20270/30000, Loss: 0.000058\n",
      "Epoch: 20280/30000, Loss: 0.000058\n",
      "Epoch: 20290/30000, Loss: 0.000058\n",
      "Epoch: 20300/30000, Loss: 0.000058\n",
      "Epoch: 20310/30000, Loss: 0.000059\n",
      "Epoch: 20320/30000, Loss: 0.000129\n",
      "Epoch: 20330/30000, Loss: 0.000122\n",
      "Epoch: 20340/30000, Loss: 0.000078\n",
      "Epoch: 20350/30000, Loss: 0.000087\n",
      "Epoch: 20360/30000, Loss: 0.000071\n",
      "Epoch: 20370/30000, Loss: 0.000062\n",
      "Epoch: 20380/30000, Loss: 0.000059\n",
      "Epoch: 20390/30000, Loss: 0.000058\n",
      "Epoch: 20400/30000, Loss: 0.000058\n",
      "Epoch: 20410/30000, Loss: 0.000058\n",
      "Epoch: 20420/30000, Loss: 0.000058\n",
      "Epoch: 20430/30000, Loss: 0.000058\n",
      "Epoch: 20440/30000, Loss: 0.000058\n",
      "Epoch: 20450/30000, Loss: 0.000058\n",
      "Epoch: 20460/30000, Loss: 0.000061\n",
      "Epoch: 20470/30000, Loss: 0.000654\n",
      "Epoch: 20480/30000, Loss: 0.000154\n",
      "Epoch: 20490/30000, Loss: 0.000153\n",
      "Epoch: 20500/30000, Loss: 0.000084\n",
      "Epoch: 20510/30000, Loss: 0.000058\n",
      "Epoch: 20520/30000, Loss: 0.000062\n",
      "Epoch: 20530/30000, Loss: 0.000058\n",
      "Epoch: 20540/30000, Loss: 0.000058\n",
      "Epoch: 20550/30000, Loss: 0.000058\n",
      "Epoch: 20560/30000, Loss: 0.000058\n",
      "Epoch: 20570/30000, Loss: 0.000057\n",
      "Epoch: 20580/30000, Loss: 0.000057\n",
      "Epoch: 20590/30000, Loss: 0.000057\n",
      "Epoch: 20600/30000, Loss: 0.000057\n",
      "Epoch: 20610/30000, Loss: 0.000058\n",
      "Epoch: 20620/30000, Loss: 0.000057\n",
      "Epoch: 20630/30000, Loss: 0.000057\n",
      "Epoch: 20640/30000, Loss: 0.000057\n",
      "Epoch: 20650/30000, Loss: 0.000057\n",
      "Epoch: 20660/30000, Loss: 0.000069\n",
      "Epoch: 20670/30000, Loss: 0.000488\n",
      "Epoch: 20680/30000, Loss: 0.000158\n",
      "Epoch: 20690/30000, Loss: 0.000061\n",
      "Epoch: 20700/30000, Loss: 0.000074\n",
      "Epoch: 20710/30000, Loss: 0.000065\n",
      "Epoch: 20720/30000, Loss: 0.000059\n",
      "Epoch: 20730/30000, Loss: 0.000058\n",
      "Epoch: 20740/30000, Loss: 0.000058\n",
      "Epoch: 20750/30000, Loss: 0.000057\n",
      "Epoch: 20760/30000, Loss: 0.000057\n",
      "Epoch: 20770/30000, Loss: 0.000057\n",
      "Epoch: 20780/30000, Loss: 0.000057\n",
      "Epoch: 20790/30000, Loss: 0.000082\n",
      "Epoch: 20800/30000, Loss: 0.000242\n",
      "Epoch: 20810/30000, Loss: 0.000109\n",
      "Epoch: 20820/30000, Loss: 0.000067\n",
      "Epoch: 20830/30000, Loss: 0.000058\n",
      "Epoch: 20840/30000, Loss: 0.000063\n",
      "Epoch: 20850/30000, Loss: 0.000057\n",
      "Epoch: 20860/30000, Loss: 0.000057\n",
      "Epoch: 20870/30000, Loss: 0.000063\n",
      "Epoch: 20880/30000, Loss: 0.000174\n",
      "Epoch: 20890/30000, Loss: 0.000061\n",
      "Epoch: 20900/30000, Loss: 0.000059\n",
      "Epoch: 20910/30000, Loss: 0.000057\n",
      "Epoch: 20920/30000, Loss: 0.000059\n",
      "Epoch: 20930/30000, Loss: 0.000060\n",
      "Epoch: 20940/30000, Loss: 0.000057\n",
      "Epoch: 20950/30000, Loss: 0.000058\n",
      "Epoch: 20960/30000, Loss: 0.000059\n",
      "Epoch: 20970/30000, Loss: 0.000072\n",
      "Epoch: 20980/30000, Loss: 0.000265\n",
      "Epoch: 20990/30000, Loss: 0.000102\n",
      "Epoch: 21000/30000, Loss: 0.000074\n",
      "Epoch: 21010/30000, Loss: 0.000058\n",
      "Epoch: 21020/30000, Loss: 0.000058\n",
      "Epoch: 21030/30000, Loss: 0.000060\n",
      "Epoch: 21040/30000, Loss: 0.000057\n",
      "Epoch: 21050/30000, Loss: 0.000057\n",
      "Epoch: 21060/30000, Loss: 0.000058\n",
      "Epoch: 21070/30000, Loss: 0.000083\n",
      "Epoch: 21080/30000, Loss: 0.000389\n",
      "Epoch: 21090/30000, Loss: 0.000105\n",
      "Epoch: 21100/30000, Loss: 0.000057\n",
      "Epoch: 21110/30000, Loss: 0.000059\n",
      "Epoch: 21120/30000, Loss: 0.000058\n",
      "Epoch: 21130/30000, Loss: 0.000057\n",
      "Epoch: 21140/30000, Loss: 0.000058\n",
      "Epoch: 21150/30000, Loss: 0.000058\n",
      "Epoch: 21160/30000, Loss: 0.000060\n",
      "Epoch: 21170/30000, Loss: 0.000057\n",
      "Epoch: 21180/30000, Loss: 0.000056\n",
      "Epoch: 21190/30000, Loss: 0.000082\n",
      "Epoch: 21200/30000, Loss: 0.000381\n",
      "Epoch: 21210/30000, Loss: 0.000141\n",
      "Epoch: 21220/30000, Loss: 0.000068\n",
      "Epoch: 21230/30000, Loss: 0.000058\n",
      "Epoch: 21240/30000, Loss: 0.000057\n",
      "Epoch: 21250/30000, Loss: 0.000057\n",
      "Epoch: 21260/30000, Loss: 0.000057\n",
      "Epoch: 21270/30000, Loss: 0.000056\n",
      "Epoch: 21280/30000, Loss: 0.000056\n",
      "Epoch: 21290/30000, Loss: 0.000056\n",
      "Epoch: 21300/30000, Loss: 0.000059\n",
      "Epoch: 21310/30000, Loss: 0.000131\n",
      "Epoch: 21320/30000, Loss: 0.000116\n",
      "Epoch: 21330/30000, Loss: 0.000059\n",
      "Epoch: 21340/30000, Loss: 0.000063\n",
      "Epoch: 21350/30000, Loss: 0.000060\n",
      "Epoch: 21360/30000, Loss: 0.000057\n",
      "Epoch: 21370/30000, Loss: 0.000056\n",
      "Epoch: 21380/30000, Loss: 0.000057\n",
      "Epoch: 21390/30000, Loss: 0.000056\n",
      "Epoch: 21400/30000, Loss: 0.000056\n",
      "Epoch: 21410/30000, Loss: 0.000058\n",
      "Epoch: 21420/30000, Loss: 0.000095\n",
      "Epoch: 21430/30000, Loss: 0.000259\n",
      "Epoch: 21440/30000, Loss: 0.000100\n",
      "Epoch: 21450/30000, Loss: 0.000070\n",
      "Epoch: 21460/30000, Loss: 0.000064\n",
      "Epoch: 21470/30000, Loss: 0.000061\n",
      "Epoch: 21480/30000, Loss: 0.000057\n",
      "Epoch: 21490/30000, Loss: 0.000056\n",
      "Epoch: 21500/30000, Loss: 0.000056\n",
      "Epoch: 21510/30000, Loss: 0.000057\n",
      "Epoch: 21520/30000, Loss: 0.000072\n",
      "Epoch: 21530/30000, Loss: 0.000329\n",
      "Epoch: 21540/30000, Loss: 0.000154\n",
      "Epoch: 21550/30000, Loss: 0.000097\n",
      "Epoch: 21560/30000, Loss: 0.000072\n",
      "Epoch: 21570/30000, Loss: 0.000062\n",
      "Epoch: 21580/30000, Loss: 0.000056\n",
      "Epoch: 21590/30000, Loss: 0.000140\n",
      "Epoch: 21600/30000, Loss: 0.000067\n",
      "Epoch: 21610/30000, Loss: 0.000059\n",
      "Epoch: 21620/30000, Loss: 0.000062\n",
      "Epoch: 21630/30000, Loss: 0.000059\n",
      "Epoch: 21640/30000, Loss: 0.000058\n",
      "Epoch: 21650/30000, Loss: 0.000080\n",
      "Epoch: 21660/30000, Loss: 0.000264\n",
      "Epoch: 21670/30000, Loss: 0.000118\n",
      "Epoch: 21680/30000, Loss: 0.000076\n",
      "Epoch: 21690/30000, Loss: 0.000056\n",
      "Epoch: 21700/30000, Loss: 0.000058\n",
      "Epoch: 21710/30000, Loss: 0.000056\n",
      "Epoch: 21720/30000, Loss: 0.000058\n",
      "Epoch: 21730/30000, Loss: 0.000065\n",
      "Epoch: 21740/30000, Loss: 0.000159\n",
      "Epoch: 21750/30000, Loss: 0.000063\n",
      "Epoch: 21760/30000, Loss: 0.000073\n",
      "Epoch: 21770/30000, Loss: 0.000071\n",
      "Epoch: 21780/30000, Loss: 0.000055\n",
      "Epoch: 21790/30000, Loss: 0.000059\n",
      "Epoch: 21800/30000, Loss: 0.000065\n",
      "Epoch: 21810/30000, Loss: 0.000116\n",
      "Epoch: 21820/30000, Loss: 0.000105\n",
      "Epoch: 21830/30000, Loss: 0.000086\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 21840/30000, Loss: 0.000056\n",
      "Epoch: 21850/30000, Loss: 0.000060\n",
      "Epoch: 21860/30000, Loss: 0.000073\n",
      "Epoch: 21870/30000, Loss: 0.000126\n",
      "Epoch: 21880/30000, Loss: 0.000068\n",
      "Epoch: 21890/30000, Loss: 0.000074\n",
      "Epoch: 21900/30000, Loss: 0.000079\n",
      "Epoch: 21910/30000, Loss: 0.000061\n",
      "Epoch: 21920/30000, Loss: 0.000061\n",
      "Epoch: 21930/30000, Loss: 0.000136\n",
      "Epoch: 21940/30000, Loss: 0.000089\n",
      "Epoch: 21950/30000, Loss: 0.000081\n",
      "Epoch: 21960/30000, Loss: 0.000073\n",
      "Epoch: 21970/30000, Loss: 0.000054\n",
      "Epoch: 21980/30000, Loss: 0.000059\n",
      "Epoch: 21990/30000, Loss: 0.000057\n",
      "Epoch: 22000/30000, Loss: 0.000068\n",
      "Epoch: 22010/30000, Loss: 0.000199\n",
      "Epoch: 22020/30000, Loss: 0.000060\n",
      "Epoch: 22030/30000, Loss: 0.000054\n",
      "Epoch: 22040/30000, Loss: 0.000065\n",
      "Epoch: 22050/30000, Loss: 0.000057\n",
      "Epoch: 22060/30000, Loss: 0.000057\n",
      "Epoch: 22070/30000, Loss: 0.000056\n",
      "Epoch: 22080/30000, Loss: 0.000074\n",
      "Epoch: 22090/30000, Loss: 0.000259\n",
      "Epoch: 22100/30000, Loss: 0.000109\n",
      "Epoch: 22110/30000, Loss: 0.000070\n",
      "Epoch: 22120/30000, Loss: 0.000053\n",
      "Epoch: 22130/30000, Loss: 0.000057\n",
      "Epoch: 22140/30000, Loss: 0.000054\n",
      "Epoch: 22150/30000, Loss: 0.000056\n",
      "Epoch: 22160/30000, Loss: 0.000077\n",
      "Epoch: 22170/30000, Loss: 0.000209\n",
      "Epoch: 22180/30000, Loss: 0.000082\n",
      "Epoch: 22190/30000, Loss: 0.000053\n",
      "Epoch: 22200/30000, Loss: 0.000063\n",
      "Epoch: 22210/30000, Loss: 0.000053\n",
      "Epoch: 22220/30000, Loss: 0.000058\n",
      "Epoch: 22230/30000, Loss: 0.000096\n",
      "Epoch: 22240/30000, Loss: 0.000157\n",
      "Epoch: 22250/30000, Loss: 0.000092\n",
      "Epoch: 22260/30000, Loss: 0.000053\n",
      "Epoch: 22270/30000, Loss: 0.000063\n",
      "Epoch: 22280/30000, Loss: 0.000053\n",
      "Epoch: 22290/30000, Loss: 0.000105\n",
      "Epoch: 22300/30000, Loss: 0.000121\n",
      "Epoch: 22310/30000, Loss: 0.000088\n",
      "Epoch: 22320/30000, Loss: 0.000052\n",
      "Epoch: 22330/30000, Loss: 0.000062\n",
      "Epoch: 22340/30000, Loss: 0.000059\n",
      "Epoch: 22350/30000, Loss: 0.000072\n",
      "Epoch: 22360/30000, Loss: 0.000175\n",
      "Epoch: 22370/30000, Loss: 0.000057\n",
      "Epoch: 22380/30000, Loss: 0.000059\n",
      "Epoch: 22390/30000, Loss: 0.000061\n",
      "Epoch: 22400/30000, Loss: 0.000059\n",
      "Epoch: 22410/30000, Loss: 0.000060\n",
      "Epoch: 22420/30000, Loss: 0.000113\n",
      "Epoch: 22430/30000, Loss: 0.000106\n",
      "Epoch: 22440/30000, Loss: 0.000088\n",
      "Epoch: 22450/30000, Loss: 0.000058\n",
      "Epoch: 22460/30000, Loss: 0.000058\n",
      "Epoch: 22470/30000, Loss: 0.000051\n",
      "Epoch: 22480/30000, Loss: 0.000065\n",
      "Epoch: 22490/30000, Loss: 0.000243\n",
      "Epoch: 22500/30000, Loss: 0.000102\n",
      "Epoch: 22510/30000, Loss: 0.000070\n",
      "Epoch: 22520/30000, Loss: 0.000051\n",
      "Epoch: 22530/30000, Loss: 0.000053\n",
      "Epoch: 22540/30000, Loss: 0.000051\n",
      "Epoch: 22550/30000, Loss: 0.000057\n",
      "Epoch: 22560/30000, Loss: 0.000119\n",
      "Epoch: 22570/30000, Loss: 0.000076\n",
      "Epoch: 22580/30000, Loss: 0.000078\n",
      "Epoch: 22590/30000, Loss: 0.000058\n",
      "Epoch: 22600/30000, Loss: 0.000057\n",
      "Epoch: 22610/30000, Loss: 0.000051\n",
      "Epoch: 22620/30000, Loss: 0.000064\n",
      "Epoch: 22630/30000, Loss: 0.000269\n",
      "Epoch: 22640/30000, Loss: 0.000123\n",
      "Epoch: 22650/30000, Loss: 0.000082\n",
      "Epoch: 22660/30000, Loss: 0.000058\n",
      "Epoch: 22670/30000, Loss: 0.000048\n",
      "Epoch: 22680/30000, Loss: 0.000053\n",
      "Epoch: 22690/30000, Loss: 0.000056\n",
      "Epoch: 22700/30000, Loss: 0.000094\n",
      "Epoch: 22710/30000, Loss: 0.000104\n",
      "Epoch: 22720/30000, Loss: 0.000078\n",
      "Epoch: 22730/30000, Loss: 0.000048\n",
      "Epoch: 22740/30000, Loss: 0.000054\n",
      "Epoch: 22750/30000, Loss: 0.000110\n",
      "Epoch: 22760/30000, Loss: 0.000080\n",
      "Epoch: 22770/30000, Loss: 0.000078\n",
      "Epoch: 22780/30000, Loss: 0.000056\n",
      "Epoch: 22790/30000, Loss: 0.000058\n",
      "Epoch: 22800/30000, Loss: 0.000056\n",
      "Epoch: 22810/30000, Loss: 0.000106\n",
      "Epoch: 22820/30000, Loss: 0.000084\n",
      "Epoch: 22830/30000, Loss: 0.000079\n",
      "Epoch: 22840/30000, Loss: 0.000051\n",
      "Epoch: 22850/30000, Loss: 0.000064\n",
      "Epoch: 22860/30000, Loss: 0.000080\n",
      "Epoch: 22870/30000, Loss: 0.000083\n",
      "Epoch: 22880/30000, Loss: 0.000046\n",
      "Epoch: 22890/30000, Loss: 0.000056\n",
      "Epoch: 22900/30000, Loss: 0.000220\n",
      "Epoch: 22910/30000, Loss: 0.000086\n",
      "Epoch: 22920/30000, Loss: 0.000060\n",
      "Epoch: 22930/30000, Loss: 0.000045\n",
      "Epoch: 22940/30000, Loss: 0.000055\n",
      "Epoch: 22950/30000, Loss: 0.000058\n",
      "Epoch: 22960/30000, Loss: 0.000089\n",
      "Epoch: 22970/30000, Loss: 0.000067\n",
      "Epoch: 22980/30000, Loss: 0.000052\n",
      "Epoch: 22990/30000, Loss: 0.000120\n",
      "Epoch: 23000/30000, Loss: 0.000048\n",
      "Epoch: 23010/30000, Loss: 0.000073\n",
      "Epoch: 23020/30000, Loss: 0.000045\n",
      "Epoch: 23030/30000, Loss: 0.000045\n",
      "Epoch: 23040/30000, Loss: 0.000100\n",
      "Epoch: 23050/30000, Loss: 0.000082\n",
      "Epoch: 23060/30000, Loss: 0.000046\n",
      "Epoch: 23070/30000, Loss: 0.000044\n",
      "Epoch: 23080/30000, Loss: 0.000045\n",
      "Epoch: 23090/30000, Loss: 0.000063\n",
      "Epoch: 23100/30000, Loss: 0.000068\n",
      "Epoch: 23110/30000, Loss: 0.000043\n",
      "Epoch: 23120/30000, Loss: 0.000072\n",
      "Epoch: 23130/30000, Loss: 0.000120\n",
      "Epoch: 23140/30000, Loss: 0.000075\n",
      "Epoch: 23150/30000, Loss: 0.000043\n",
      "Epoch: 23160/30000, Loss: 0.000050\n",
      "Epoch: 23170/30000, Loss: 0.000143\n",
      "Epoch: 23180/30000, Loss: 0.000046\n",
      "Epoch: 23190/30000, Loss: 0.000043\n",
      "Epoch: 23200/30000, Loss: 0.000063\n",
      "Epoch: 23210/30000, Loss: 0.000047\n",
      "Epoch: 23220/30000, Loss: 0.000045\n",
      "Epoch: 23230/30000, Loss: 0.000123\n",
      "Epoch: 23240/30000, Loss: 0.000044\n",
      "Epoch: 23250/30000, Loss: 0.000041\n",
      "Epoch: 23260/30000, Loss: 0.000052\n",
      "Epoch: 23270/30000, Loss: 0.000049\n",
      "Epoch: 23280/30000, Loss: 0.000076\n",
      "Epoch: 23290/30000, Loss: 0.000059\n",
      "Epoch: 23300/30000, Loss: 0.000048\n",
      "Epoch: 23310/30000, Loss: 0.000113\n",
      "Epoch: 23320/30000, Loss: 0.000040\n",
      "Epoch: 23330/30000, Loss: 0.000074\n",
      "Epoch: 23340/30000, Loss: 0.000044\n",
      "Epoch: 23350/30000, Loss: 0.000038\n",
      "Epoch: 23360/30000, Loss: 0.000069\n",
      "Epoch: 23370/30000, Loss: 0.000150\n",
      "Epoch: 23380/30000, Loss: 0.000041\n",
      "Epoch: 23390/30000, Loss: 0.000042\n",
      "Epoch: 23400/30000, Loss: 0.000038\n",
      "Epoch: 23410/30000, Loss: 0.000048\n",
      "Epoch: 23420/30000, Loss: 0.000041\n",
      "Epoch: 23430/30000, Loss: 0.000039\n",
      "Epoch: 23440/30000, Loss: 0.000059\n",
      "Epoch: 23450/30000, Loss: 0.000170\n",
      "Epoch: 23460/30000, Loss: 0.000087\n",
      "Epoch: 23470/30000, Loss: 0.000063\n",
      "Epoch: 23480/30000, Loss: 0.000042\n",
      "Epoch: 23490/30000, Loss: 0.000042\n",
      "Epoch: 23500/30000, Loss: 0.000149\n",
      "Epoch: 23510/30000, Loss: 0.000054\n",
      "Epoch: 23520/30000, Loss: 0.000036\n",
      "Epoch: 23530/30000, Loss: 0.000063\n",
      "Epoch: 23540/30000, Loss: 0.000039\n",
      "Epoch: 23550/30000, Loss: 0.000035\n",
      "Epoch: 23560/30000, Loss: 0.000036\n",
      "Epoch: 23570/30000, Loss: 0.000216\n",
      "Epoch: 23580/30000, Loss: 0.000166\n",
      "Epoch: 23590/30000, Loss: 0.000058\n",
      "Epoch: 23600/30000, Loss: 0.000035\n",
      "Epoch: 23610/30000, Loss: 0.000035\n",
      "Epoch: 23620/30000, Loss: 0.000041\n",
      "Epoch: 23630/30000, Loss: 0.000033\n",
      "Epoch: 23640/30000, Loss: 0.000035\n",
      "Epoch: 23650/30000, Loss: 0.000051\n",
      "Epoch: 23660/30000, Loss: 0.000119\n",
      "Epoch: 23670/30000, Loss: 0.000048\n",
      "Epoch: 23680/30000, Loss: 0.000066\n",
      "Epoch: 23690/30000, Loss: 0.000032\n",
      "Epoch: 23700/30000, Loss: 0.000043\n",
      "Epoch: 23710/30000, Loss: 0.000244\n",
      "Epoch: 23720/30000, Loss: 0.000088\n",
      "Epoch: 23730/30000, Loss: 0.000069\n",
      "Epoch: 23740/30000, Loss: 0.000046\n",
      "Epoch: 23750/30000, Loss: 0.000033\n",
      "Epoch: 23760/30000, Loss: 0.000030\n",
      "Epoch: 23770/30000, Loss: 0.000032\n",
      "Epoch: 23780/30000, Loss: 0.000127\n",
      "Epoch: 23790/30000, Loss: 0.000048\n",
      "Epoch: 23800/30000, Loss: 0.000080\n",
      "Epoch: 23810/30000, Loss: 0.000045\n",
      "Epoch: 23820/30000, Loss: 0.000029\n",
      "Epoch: 23830/30000, Loss: 0.000046\n",
      "Epoch: 23840/30000, Loss: 0.000047\n",
      "Epoch: 23850/30000, Loss: 0.000030\n",
      "Epoch: 23860/30000, Loss: 0.000028\n",
      "Epoch: 23870/30000, Loss: 0.000032\n",
      "Epoch: 23880/30000, Loss: 0.000389\n",
      "Epoch: 23890/30000, Loss: 0.000108\n",
      "Epoch: 23900/30000, Loss: 0.000045\n",
      "Epoch: 23910/30000, Loss: 0.000044\n",
      "Epoch: 23920/30000, Loss: 0.000034\n",
      "Epoch: 23930/30000, Loss: 0.000027\n",
      "Epoch: 23940/30000, Loss: 0.000030\n",
      "Epoch: 23950/30000, Loss: 0.000027\n",
      "Epoch: 23960/30000, Loss: 0.000027\n",
      "Epoch: 23970/30000, Loss: 0.000049\n",
      "Epoch: 23980/30000, Loss: 0.000164\n",
      "Epoch: 23990/30000, Loss: 0.000048\n",
      "Epoch: 24000/30000, Loss: 0.000064\n",
      "Epoch: 24010/30000, Loss: 0.000039\n",
      "Epoch: 24020/30000, Loss: 0.000031\n",
      "Epoch: 24030/30000, Loss: 0.000027\n",
      "Epoch: 24040/30000, Loss: 0.000043\n",
      "Epoch: 24050/30000, Loss: 0.000160\n",
      "Epoch: 24060/30000, Loss: 0.000079\n",
      "Epoch: 24070/30000, Loss: 0.000033\n",
      "Epoch: 24080/30000, Loss: 0.000059\n",
      "Epoch: 24090/30000, Loss: 0.000024\n",
      "Epoch: 24100/30000, Loss: 0.000051\n",
      "Epoch: 24110/30000, Loss: 0.000105\n",
      "Epoch: 24120/30000, Loss: 0.000069\n",
      "Epoch: 24130/30000, Loss: 0.000024\n",
      "Epoch: 24140/30000, Loss: 0.000040\n",
      "Epoch: 24150/30000, Loss: 0.000115\n",
      "Epoch: 24160/30000, Loss: 0.000039\n",
      "Epoch: 24170/30000, Loss: 0.000049\n",
      "Epoch: 24180/30000, Loss: 0.000022\n",
      "Epoch: 24190/30000, Loss: 0.000041\n",
      "Epoch: 24200/30000, Loss: 0.000157\n",
      "Epoch: 24210/30000, Loss: 0.000076\n",
      "Epoch: 24220/30000, Loss: 0.000028\n",
      "Epoch: 24230/30000, Loss: 0.000048\n",
      "Epoch: 24240/30000, Loss: 0.000023\n",
      "Epoch: 24250/30000, Loss: 0.000022\n",
      "Epoch: 24260/30000, Loss: 0.000237\n",
      "Epoch: 24270/30000, Loss: 0.000100\n",
      "Epoch: 24280/30000, Loss: 0.000069\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 24290/30000, Loss: 0.000030\n",
      "Epoch: 24300/30000, Loss: 0.000022\n",
      "Epoch: 24310/30000, Loss: 0.000023\n",
      "Epoch: 24320/30000, Loss: 0.000036\n",
      "Epoch: 24330/30000, Loss: 0.000100\n",
      "Epoch: 24340/30000, Loss: 0.000020\n",
      "Epoch: 24350/30000, Loss: 0.000073\n",
      "Epoch: 24360/30000, Loss: 0.000026\n",
      "Epoch: 24370/30000, Loss: 0.000043\n",
      "Epoch: 24380/30000, Loss: 0.000084\n",
      "Epoch: 24390/30000, Loss: 0.000030\n",
      "Epoch: 24400/30000, Loss: 0.000072\n",
      "Epoch: 24410/30000, Loss: 0.000019\n",
      "Epoch: 24420/30000, Loss: 0.000048\n",
      "Epoch: 24430/30000, Loss: 0.000078\n",
      "Epoch: 24440/30000, Loss: 0.000038\n",
      "Epoch: 24450/30000, Loss: 0.000062\n",
      "Epoch: 24460/30000, Loss: 0.000018\n",
      "Epoch: 24470/30000, Loss: 0.000051\n",
      "Epoch: 24480/30000, Loss: 0.000076\n",
      "Epoch: 24490/30000, Loss: 0.000043\n",
      "Epoch: 24500/30000, Loss: 0.000053\n",
      "Epoch: 24510/30000, Loss: 0.000018\n",
      "Epoch: 24520/30000, Loss: 0.000051\n",
      "Epoch: 24530/30000, Loss: 0.000079\n",
      "Epoch: 24540/30000, Loss: 0.000042\n",
      "Epoch: 24550/30000, Loss: 0.000051\n",
      "Epoch: 24560/30000, Loss: 0.000018\n",
      "Epoch: 24570/30000, Loss: 0.000047\n",
      "Epoch: 24580/30000, Loss: 0.000090\n",
      "Epoch: 24590/30000, Loss: 0.000037\n",
      "Epoch: 24600/30000, Loss: 0.000053\n",
      "Epoch: 24610/30000, Loss: 0.000016\n",
      "Epoch: 24620/30000, Loss: 0.000038\n",
      "Epoch: 24630/30000, Loss: 0.000106\n",
      "Epoch: 24640/30000, Loss: 0.000026\n",
      "Epoch: 24650/30000, Loss: 0.000056\n",
      "Epoch: 24660/30000, Loss: 0.000016\n",
      "Epoch: 24670/30000, Loss: 0.000029\n",
      "Epoch: 24680/30000, Loss: 0.000108\n",
      "Epoch: 24690/30000, Loss: 0.000016\n",
      "Epoch: 24700/30000, Loss: 0.000057\n",
      "Epoch: 24710/30000, Loss: 0.000018\n",
      "Epoch: 24720/30000, Loss: 0.000022\n",
      "Epoch: 24730/30000, Loss: 0.000081\n",
      "Epoch: 24740/30000, Loss: 0.000035\n",
      "Epoch: 24750/30000, Loss: 0.000054\n",
      "Epoch: 24760/30000, Loss: 0.000025\n",
      "Epoch: 24770/30000, Loss: 0.000018\n",
      "Epoch: 24780/30000, Loss: 0.000050\n",
      "Epoch: 24790/30000, Loss: 0.000097\n",
      "Epoch: 24800/30000, Loss: 0.000038\n",
      "Epoch: 24810/30000, Loss: 0.000039\n",
      "Epoch: 24820/30000, Loss: 0.000015\n",
      "Epoch: 24830/30000, Loss: 0.000030\n",
      "Epoch: 24840/30000, Loss: 0.000114\n",
      "Epoch: 24850/30000, Loss: 0.000015\n",
      "Epoch: 24860/30000, Loss: 0.000052\n",
      "Epoch: 24870/30000, Loss: 0.000015\n",
      "Epoch: 24880/30000, Loss: 0.000021\n",
      "Epoch: 24890/30000, Loss: 0.000071\n",
      "Epoch: 24900/30000, Loss: 0.000057\n",
      "Epoch: 24910/30000, Loss: 0.000048\n",
      "Epoch: 24920/30000, Loss: 0.000026\n",
      "Epoch: 24930/30000, Loss: 0.000015\n",
      "Epoch: 24940/30000, Loss: 0.000036\n",
      "Epoch: 24950/30000, Loss: 0.000121\n",
      "Epoch: 24960/30000, Loss: 0.000019\n",
      "Epoch: 24970/30000, Loss: 0.000044\n",
      "Epoch: 24980/30000, Loss: 0.000013\n",
      "Epoch: 24990/30000, Loss: 0.000023\n",
      "Epoch: 25000/30000, Loss: 0.000079\n",
      "Epoch: 25010/30000, Loss: 0.000041\n",
      "Epoch: 25020/30000, Loss: 0.000046\n",
      "Epoch: 25030/30000, Loss: 0.000029\n",
      "Epoch: 25040/30000, Loss: 0.000013\n",
      "Epoch: 25050/30000, Loss: 0.000028\n",
      "Epoch: 25060/30000, Loss: 0.000134\n",
      "Epoch: 25070/30000, Loss: 0.000016\n",
      "Epoch: 25080/30000, Loss: 0.000033\n",
      "Epoch: 25090/30000, Loss: 0.000019\n",
      "Epoch: 25100/30000, Loss: 0.000026\n",
      "Epoch: 25110/30000, Loss: 0.000029\n",
      "Epoch: 25120/30000, Loss: 0.000055\n",
      "Epoch: 25130/30000, Loss: 0.000069\n",
      "Epoch: 25140/30000, Loss: 0.000015\n",
      "Epoch: 25150/30000, Loss: 0.000054\n",
      "Epoch: 25160/30000, Loss: 0.000051\n",
      "Epoch: 25170/30000, Loss: 0.000015\n",
      "Epoch: 25180/30000, Loss: 0.000050\n",
      "Epoch: 25190/30000, Loss: 0.000069\n",
      "Epoch: 25200/30000, Loss: 0.000016\n",
      "Epoch: 25210/30000, Loss: 0.000052\n",
      "Epoch: 25220/30000, Loss: 0.000043\n",
      "Epoch: 25230/30000, Loss: 0.000012\n",
      "Epoch: 25240/30000, Loss: 0.000031\n",
      "Epoch: 25250/30000, Loss: 0.000137\n",
      "Epoch: 25260/30000, Loss: 0.000019\n",
      "Epoch: 25270/30000, Loss: 0.000030\n",
      "Epoch: 25280/30000, Loss: 0.000017\n",
      "Epoch: 25290/30000, Loss: 0.000026\n",
      "Epoch: 25300/30000, Loss: 0.000035\n",
      "Epoch: 25310/30000, Loss: 0.000063\n",
      "Epoch: 25320/30000, Loss: 0.000039\n",
      "Epoch: 25330/30000, Loss: 0.000013\n",
      "Epoch: 25340/30000, Loss: 0.000039\n",
      "Epoch: 25350/30000, Loss: 0.000137\n",
      "Epoch: 25360/30000, Loss: 0.000030\n",
      "Epoch: 25370/30000, Loss: 0.000024\n",
      "Epoch: 25380/30000, Loss: 0.000017\n",
      "Epoch: 25390/30000, Loss: 0.000027\n",
      "Epoch: 25400/30000, Loss: 0.000043\n",
      "Epoch: 25410/30000, Loss: 0.000065\n",
      "Epoch: 25420/30000, Loss: 0.000020\n",
      "Epoch: 25430/30000, Loss: 0.000013\n",
      "Epoch: 25440/30000, Loss: 0.000041\n",
      "Epoch: 25450/30000, Loss: 0.000182\n",
      "Epoch: 25460/30000, Loss: 0.000070\n",
      "Epoch: 25470/30000, Loss: 0.000019\n",
      "Epoch: 25480/30000, Loss: 0.000016\n",
      "Epoch: 25490/30000, Loss: 0.000016\n",
      "Epoch: 25500/30000, Loss: 0.000017\n",
      "Epoch: 25510/30000, Loss: 0.000025\n",
      "Epoch: 25520/30000, Loss: 0.000110\n",
      "Epoch: 25530/30000, Loss: 0.000018\n",
      "Epoch: 25540/30000, Loss: 0.000045\n",
      "Epoch: 25550/30000, Loss: 0.000014\n",
      "Epoch: 25560/30000, Loss: 0.000023\n",
      "Epoch: 25570/30000, Loss: 0.000022\n",
      "Epoch: 25580/30000, Loss: 0.000039\n",
      "Epoch: 25590/30000, Loss: 0.000119\n",
      "Epoch: 25600/30000, Loss: 0.000013\n",
      "Epoch: 25610/30000, Loss: 0.000041\n",
      "Epoch: 25620/30000, Loss: 0.000011\n",
      "Epoch: 25630/30000, Loss: 0.000017\n",
      "Epoch: 25640/30000, Loss: 0.000054\n",
      "Epoch: 25650/30000, Loss: 0.000109\n",
      "Epoch: 25660/30000, Loss: 0.000037\n",
      "Epoch: 25670/30000, Loss: 0.000020\n",
      "Epoch: 25680/30000, Loss: 0.000015\n",
      "Epoch: 25690/30000, Loss: 0.000028\n",
      "Epoch: 25700/30000, Loss: 0.000063\n",
      "Epoch: 25710/30000, Loss: 0.000050\n",
      "Epoch: 25720/30000, Loss: 0.000013\n",
      "Epoch: 25730/30000, Loss: 0.000046\n",
      "Epoch: 25740/30000, Loss: 0.000073\n",
      "Epoch: 25750/30000, Loss: 0.000012\n",
      "Epoch: 25760/30000, Loss: 0.000043\n",
      "Epoch: 25770/30000, Loss: 0.000049\n",
      "Epoch: 25780/30000, Loss: 0.000012\n",
      "Epoch: 25790/30000, Loss: 0.000015\n",
      "Epoch: 25800/30000, Loss: 0.000075\n",
      "Epoch: 25810/30000, Loss: 0.000084\n",
      "Epoch: 25820/30000, Loss: 0.000053\n",
      "Epoch: 25830/30000, Loss: 0.000032\n",
      "Epoch: 25840/30000, Loss: 0.000011\n",
      "Epoch: 25850/30000, Loss: 0.000016\n",
      "Epoch: 25860/30000, Loss: 0.000012\n",
      "Epoch: 25870/30000, Loss: 0.000014\n",
      "Epoch: 25880/30000, Loss: 0.000068\n",
      "Epoch: 25890/30000, Loss: 0.000125\n",
      "Epoch: 25900/30000, Loss: 0.000041\n",
      "Epoch: 25910/30000, Loss: 0.000032\n",
      "Epoch: 25920/30000, Loss: 0.000022\n",
      "Epoch: 25930/30000, Loss: 0.000012\n",
      "Epoch: 25940/30000, Loss: 0.000011\n",
      "Epoch: 25950/30000, Loss: 0.000010\n",
      "Epoch: 25960/30000, Loss: 0.000011\n",
      "Epoch: 25970/30000, Loss: 0.000032\n",
      "Epoch: 25980/30000, Loss: 0.000301\n",
      "Epoch: 25990/30000, Loss: 0.000104\n",
      "Epoch: 26000/30000, Loss: 0.000045\n",
      "Epoch: 26010/30000, Loss: 0.000024\n",
      "Epoch: 26020/30000, Loss: 0.000017\n",
      "Epoch: 26030/30000, Loss: 0.000012\n",
      "Epoch: 26040/30000, Loss: 0.000010\n",
      "Epoch: 26050/30000, Loss: 0.000011\n",
      "Epoch: 26060/30000, Loss: 0.000012\n",
      "Epoch: 26070/30000, Loss: 0.000028\n",
      "Epoch: 26080/30000, Loss: 0.000243\n",
      "Epoch: 26090/30000, Loss: 0.000085\n",
      "Epoch: 26100/30000, Loss: 0.000042\n",
      "Epoch: 26110/30000, Loss: 0.000016\n",
      "Epoch: 26120/30000, Loss: 0.000010\n",
      "Epoch: 26130/30000, Loss: 0.000013\n",
      "Epoch: 26140/30000, Loss: 0.000010\n",
      "Epoch: 26150/30000, Loss: 0.000011\n",
      "Epoch: 26160/30000, Loss: 0.000021\n",
      "Epoch: 26170/30000, Loss: 0.000205\n",
      "Epoch: 26180/30000, Loss: 0.000045\n",
      "Epoch: 26190/30000, Loss: 0.000028\n",
      "Epoch: 26200/30000, Loss: 0.000011\n",
      "Epoch: 26210/30000, Loss: 0.000011\n",
      "Epoch: 26220/30000, Loss: 0.000013\n",
      "Epoch: 26230/30000, Loss: 0.000010\n",
      "Epoch: 26240/30000, Loss: 0.000011\n",
      "Epoch: 26250/30000, Loss: 0.000019\n",
      "Epoch: 26260/30000, Loss: 0.000148\n",
      "Epoch: 26270/30000, Loss: 0.000013\n",
      "Epoch: 26280/30000, Loss: 0.000011\n",
      "Epoch: 26290/30000, Loss: 0.000014\n",
      "Epoch: 26300/30000, Loss: 0.000017\n",
      "Epoch: 26310/30000, Loss: 0.000011\n",
      "Epoch: 26320/30000, Loss: 0.000012\n",
      "Epoch: 26330/30000, Loss: 0.000011\n",
      "Epoch: 26340/30000, Loss: 0.000019\n",
      "Epoch: 26350/30000, Loss: 0.000181\n",
      "Epoch: 26360/30000, Loss: 0.000031\n",
      "Epoch: 26370/30000, Loss: 0.000026\n",
      "Epoch: 26380/30000, Loss: 0.000012\n",
      "Epoch: 26390/30000, Loss: 0.000010\n",
      "Epoch: 26400/30000, Loss: 0.000012\n",
      "Epoch: 26410/30000, Loss: 0.000010\n",
      "Epoch: 26420/30000, Loss: 0.000011\n",
      "Epoch: 26430/30000, Loss: 0.000015\n",
      "Epoch: 26440/30000, Loss: 0.000071\n",
      "Epoch: 26450/30000, Loss: 0.000110\n",
      "Epoch: 26460/30000, Loss: 0.000051\n",
      "Epoch: 26470/30000, Loss: 0.000035\n",
      "Epoch: 26480/30000, Loss: 0.000015\n",
      "Epoch: 26490/30000, Loss: 0.000010\n",
      "Epoch: 26500/30000, Loss: 0.000011\n",
      "Epoch: 26510/30000, Loss: 0.000014\n",
      "Epoch: 26520/30000, Loss: 0.000041\n",
      "Epoch: 26530/30000, Loss: 0.000171\n",
      "Epoch: 26540/30000, Loss: 0.000050\n",
      "Epoch: 26550/30000, Loss: 0.000010\n",
      "Epoch: 26560/30000, Loss: 0.000019\n",
      "Epoch: 26570/30000, Loss: 0.000010\n",
      "Epoch: 26580/30000, Loss: 0.000015\n",
      "Epoch: 26590/30000, Loss: 0.000035\n",
      "Epoch: 26600/30000, Loss: 0.000145\n",
      "Epoch: 26610/30000, Loss: 0.000022\n",
      "Epoch: 26620/30000, Loss: 0.000019\n",
      "Epoch: 26630/30000, Loss: 0.000019\n",
      "Epoch: 26640/30000, Loss: 0.000016\n",
      "Epoch: 26650/30000, Loss: 0.000012\n",
      "Epoch: 26660/30000, Loss: 0.000022\n",
      "Epoch: 26670/30000, Loss: 0.000194\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 26680/30000, Loss: 0.000038\n",
      "Epoch: 26690/30000, Loss: 0.000020\n",
      "Epoch: 26700/30000, Loss: 0.000010\n",
      "Epoch: 26710/30000, Loss: 0.000012\n",
      "Epoch: 26720/30000, Loss: 0.000012\n",
      "Epoch: 26730/30000, Loss: 0.000010\n",
      "Epoch: 26740/30000, Loss: 0.000009\n",
      "Epoch: 26750/30000, Loss: 0.000009\n",
      "Epoch: 26760/30000, Loss: 0.000010\n",
      "Epoch: 26770/30000, Loss: 0.000080\n",
      "Epoch: 26780/30000, Loss: 0.000039\n",
      "Epoch: 26790/30000, Loss: 0.000139\n",
      "Epoch: 26800/30000, Loss: 0.000012\n",
      "Epoch: 26810/30000, Loss: 0.000027\n",
      "Epoch: 26820/30000, Loss: 0.000010\n",
      "Epoch: 26830/30000, Loss: 0.000011\n",
      "Epoch: 26840/30000, Loss: 0.000010\n",
      "Epoch: 26850/30000, Loss: 0.000010\n",
      "Epoch: 26860/30000, Loss: 0.000009\n",
      "Epoch: 26870/30000, Loss: 0.000009\n",
      "Epoch: 26880/30000, Loss: 0.000009\n",
      "Epoch: 26890/30000, Loss: 0.000009\n",
      "Epoch: 26900/30000, Loss: 0.000009\n",
      "Epoch: 26910/30000, Loss: 0.000009\n",
      "Epoch: 26920/30000, Loss: 0.000009\n",
      "Epoch: 26930/30000, Loss: 0.000022\n",
      "Epoch: 26940/30000, Loss: 0.000523\n",
      "Epoch: 26950/30000, Loss: 0.000069\n",
      "Epoch: 26960/30000, Loss: 0.000041\n",
      "Epoch: 26970/30000, Loss: 0.000030\n",
      "Epoch: 26980/30000, Loss: 0.000010\n",
      "Epoch: 26990/30000, Loss: 0.000010\n",
      "Epoch: 27000/30000, Loss: 0.000010\n",
      "Epoch: 27010/30000, Loss: 0.000009\n",
      "Epoch: 27020/30000, Loss: 0.000009\n",
      "Epoch: 27030/30000, Loss: 0.000009\n",
      "Epoch: 27040/30000, Loss: 0.000009\n",
      "Epoch: 27050/30000, Loss: 0.000009\n",
      "Epoch: 27060/30000, Loss: 0.000009\n",
      "Epoch: 27070/30000, Loss: 0.000009\n",
      "Epoch: 27080/30000, Loss: 0.000009\n",
      "Epoch: 27090/30000, Loss: 0.000055\n",
      "Epoch: 27100/30000, Loss: 0.000134\n",
      "Epoch: 27110/30000, Loss: 0.000160\n",
      "Epoch: 27120/30000, Loss: 0.000027\n",
      "Epoch: 27130/30000, Loss: 0.000020\n",
      "Epoch: 27140/30000, Loss: 0.000015\n",
      "Epoch: 27150/30000, Loss: 0.000010\n",
      "Epoch: 27160/30000, Loss: 0.000009\n",
      "Epoch: 27170/30000, Loss: 0.000009\n",
      "Epoch: 27180/30000, Loss: 0.000009\n",
      "Epoch: 27190/30000, Loss: 0.000009\n",
      "Epoch: 27200/30000, Loss: 0.000009\n",
      "Epoch: 27210/30000, Loss: 0.000009\n",
      "Epoch: 27220/30000, Loss: 0.000009\n",
      "Epoch: 27230/30000, Loss: 0.000009\n",
      "Epoch: 27240/30000, Loss: 0.000009\n",
      "Epoch: 27250/30000, Loss: 0.000009\n",
      "Epoch: 27260/30000, Loss: 0.000009\n",
      "Epoch: 27270/30000, Loss: 0.000010\n",
      "Epoch: 27280/30000, Loss: 0.000162\n",
      "Epoch: 27290/30000, Loss: 0.000188\n",
      "Epoch: 27300/30000, Loss: 0.000014\n",
      "Epoch: 27310/30000, Loss: 0.000045\n",
      "Epoch: 27320/30000, Loss: 0.000021\n",
      "Epoch: 27330/30000, Loss: 0.000010\n",
      "Epoch: 27340/30000, Loss: 0.000011\n",
      "Epoch: 27350/30000, Loss: 0.000009\n",
      "Epoch: 27360/30000, Loss: 0.000009\n",
      "Epoch: 27370/30000, Loss: 0.000009\n",
      "Epoch: 27380/30000, Loss: 0.000009\n",
      "Epoch: 27390/30000, Loss: 0.000009\n",
      "Epoch: 27400/30000, Loss: 0.000009\n",
      "Epoch: 27410/30000, Loss: 0.000009\n",
      "Epoch: 27420/30000, Loss: 0.000009\n",
      "Epoch: 27430/30000, Loss: 0.000009\n",
      "Epoch: 27440/30000, Loss: 0.000009\n",
      "Epoch: 27450/30000, Loss: 0.000009\n",
      "Epoch: 27460/30000, Loss: 0.000011\n",
      "Epoch: 27470/30000, Loss: 0.000205\n",
      "Epoch: 27480/30000, Loss: 0.000181\n",
      "Epoch: 27490/30000, Loss: 0.000019\n",
      "Epoch: 27500/30000, Loss: 0.000045\n",
      "Epoch: 27510/30000, Loss: 0.000010\n",
      "Epoch: 27520/30000, Loss: 0.000013\n",
      "Epoch: 27530/30000, Loss: 0.000010\n",
      "Epoch: 27540/30000, Loss: 0.000009\n",
      "Epoch: 27550/30000, Loss: 0.000009\n",
      "Epoch: 27560/30000, Loss: 0.000009\n",
      "Epoch: 27570/30000, Loss: 0.000009\n",
      "Epoch: 27580/30000, Loss: 0.000009\n",
      "Epoch: 27590/30000, Loss: 0.000009\n",
      "Epoch: 27600/30000, Loss: 0.000009\n",
      "Epoch: 27610/30000, Loss: 0.000009\n",
      "Epoch: 27620/30000, Loss: 0.000009\n",
      "Epoch: 27630/30000, Loss: 0.000023\n",
      "Epoch: 27640/30000, Loss: 0.000508\n",
      "Epoch: 27650/30000, Loss: 0.000049\n",
      "Epoch: 27660/30000, Loss: 0.000049\n",
      "Epoch: 27670/30000, Loss: 0.000025\n",
      "Epoch: 27680/30000, Loss: 0.000009\n",
      "Epoch: 27690/30000, Loss: 0.000011\n",
      "Epoch: 27700/30000, Loss: 0.000010\n",
      "Epoch: 27710/30000, Loss: 0.000009\n",
      "Epoch: 27720/30000, Loss: 0.000009\n",
      "Epoch: 27730/30000, Loss: 0.000009\n",
      "Epoch: 27740/30000, Loss: 0.000009\n",
      "Epoch: 27750/30000, Loss: 0.000009\n",
      "Epoch: 27760/30000, Loss: 0.000009\n",
      "Epoch: 27770/30000, Loss: 0.000009\n",
      "Epoch: 27780/30000, Loss: 0.000027\n",
      "Epoch: 27790/30000, Loss: 0.000458\n",
      "Epoch: 27800/30000, Loss: 0.000040\n",
      "Epoch: 27810/30000, Loss: 0.000035\n",
      "Epoch: 27820/30000, Loss: 0.000028\n",
      "Epoch: 27830/30000, Loss: 0.000011\n",
      "Epoch: 27840/30000, Loss: 0.000009\n",
      "Epoch: 27850/30000, Loss: 0.000009\n",
      "Epoch: 27860/30000, Loss: 0.000009\n",
      "Epoch: 27870/30000, Loss: 0.000008\n",
      "Epoch: 27880/30000, Loss: 0.000009\n",
      "Epoch: 27890/30000, Loss: 0.000009\n",
      "Epoch: 27900/30000, Loss: 0.000008\n",
      "Epoch: 27910/30000, Loss: 0.000009\n",
      "Epoch: 27920/30000, Loss: 0.000015\n",
      "Epoch: 27930/30000, Loss: 0.000347\n",
      "Epoch: 27940/30000, Loss: 0.000187\n",
      "Epoch: 27950/30000, Loss: 0.000016\n",
      "Epoch: 27960/30000, Loss: 0.000021\n",
      "Epoch: 27970/30000, Loss: 0.000018\n",
      "Epoch: 27980/30000, Loss: 0.000010\n",
      "Epoch: 27990/30000, Loss: 0.000009\n",
      "Epoch: 28000/30000, Loss: 0.000009\n",
      "Epoch: 28010/30000, Loss: 0.000009\n",
      "Epoch: 28020/30000, Loss: 0.000008\n",
      "Epoch: 28030/30000, Loss: 0.000008\n",
      "Epoch: 28040/30000, Loss: 0.000008\n",
      "Epoch: 28050/30000, Loss: 0.000008\n",
      "Epoch: 28060/30000, Loss: 0.000012\n",
      "Epoch: 28070/30000, Loss: 0.000174\n",
      "Epoch: 28080/30000, Loss: 0.000055\n",
      "Epoch: 28090/30000, Loss: 0.000086\n",
      "Epoch: 28100/30000, Loss: 0.000018\n",
      "Epoch: 28110/30000, Loss: 0.000009\n",
      "Epoch: 28120/30000, Loss: 0.000010\n",
      "Epoch: 28130/30000, Loss: 0.000009\n",
      "Epoch: 28140/30000, Loss: 0.000009\n",
      "Epoch: 28150/30000, Loss: 0.000008\n",
      "Epoch: 28160/30000, Loss: 0.000008\n",
      "Epoch: 28170/30000, Loss: 0.000008\n",
      "Epoch: 28180/30000, Loss: 0.000008\n",
      "Epoch: 28190/30000, Loss: 0.000009\n",
      "Epoch: 28200/30000, Loss: 0.000036\n",
      "Epoch: 28210/30000, Loss: 0.000366\n",
      "Epoch: 28220/30000, Loss: 0.000017\n",
      "Epoch: 28230/30000, Loss: 0.000033\n",
      "Epoch: 28240/30000, Loss: 0.000025\n",
      "Epoch: 28250/30000, Loss: 0.000012\n",
      "Epoch: 28260/30000, Loss: 0.000009\n",
      "Epoch: 28270/30000, Loss: 0.000008\n",
      "Epoch: 28280/30000, Loss: 0.000008\n",
      "Epoch: 28290/30000, Loss: 0.000008\n",
      "Epoch: 28300/30000, Loss: 0.000008\n",
      "Epoch: 28310/30000, Loss: 0.000008\n",
      "Epoch: 28320/30000, Loss: 0.000009\n",
      "Epoch: 28330/30000, Loss: 0.000014\n",
      "Epoch: 28340/30000, Loss: 0.000245\n",
      "Epoch: 28350/30000, Loss: 0.000120\n",
      "Epoch: 28360/30000, Loss: 0.000064\n",
      "Epoch: 28370/30000, Loss: 0.000012\n",
      "Epoch: 28380/30000, Loss: 0.000009\n",
      "Epoch: 28390/30000, Loss: 0.000010\n",
      "Epoch: 28400/30000, Loss: 0.000009\n",
      "Epoch: 28410/30000, Loss: 0.000008\n",
      "Epoch: 28420/30000, Loss: 0.000008\n",
      "Epoch: 28430/30000, Loss: 0.000008\n",
      "Epoch: 28440/30000, Loss: 0.000008\n",
      "Epoch: 28450/30000, Loss: 0.000008\n",
      "Epoch: 28460/30000, Loss: 0.000016\n",
      "Epoch: 28470/30000, Loss: 0.000293\n",
      "Epoch: 28480/30000, Loss: 0.000137\n",
      "Epoch: 28490/30000, Loss: 0.000052\n",
      "Epoch: 28500/30000, Loss: 0.000011\n",
      "Epoch: 28510/30000, Loss: 0.000009\n",
      "Epoch: 28520/30000, Loss: 0.000009\n",
      "Epoch: 28530/30000, Loss: 0.000008\n",
      "Epoch: 28540/30000, Loss: 0.000008\n",
      "Epoch: 28550/30000, Loss: 0.000008\n",
      "Epoch: 28560/30000, Loss: 0.000008\n",
      "Epoch: 28570/30000, Loss: 0.000008\n",
      "Epoch: 28580/30000, Loss: 0.000009\n",
      "Epoch: 28590/30000, Loss: 0.000042\n",
      "Epoch: 28600/30000, Loss: 0.000295\n",
      "Epoch: 28610/30000, Loss: 0.000017\n",
      "Epoch: 28620/30000, Loss: 0.000021\n",
      "Epoch: 28630/30000, Loss: 0.000022\n",
      "Epoch: 28640/30000, Loss: 0.000014\n",
      "Epoch: 28650/30000, Loss: 0.000010\n",
      "Epoch: 28660/30000, Loss: 0.000009\n",
      "Epoch: 28670/30000, Loss: 0.000008\n",
      "Epoch: 28680/30000, Loss: 0.000008\n",
      "Epoch: 28690/30000, Loss: 0.000008\n",
      "Epoch: 28700/30000, Loss: 0.000008\n",
      "Epoch: 28710/30000, Loss: 0.000009\n",
      "Epoch: 28720/30000, Loss: 0.000038\n",
      "Epoch: 28730/30000, Loss: 0.000375\n",
      "Epoch: 28740/30000, Loss: 0.000013\n",
      "Epoch: 28750/30000, Loss: 0.000056\n",
      "Epoch: 28760/30000, Loss: 0.000014\n",
      "Epoch: 28770/30000, Loss: 0.000009\n",
      "Epoch: 28780/30000, Loss: 0.000010\n",
      "Epoch: 28790/30000, Loss: 0.000009\n",
      "Epoch: 28800/30000, Loss: 0.000008\n",
      "Epoch: 28810/30000, Loss: 0.000008\n",
      "Epoch: 28820/30000, Loss: 0.000008\n",
      "Epoch: 28830/30000, Loss: 0.000008\n",
      "Epoch: 28840/30000, Loss: 0.000008\n",
      "Epoch: 28850/30000, Loss: 0.000008\n",
      "Epoch: 28860/30000, Loss: 0.000009\n",
      "Epoch: 28870/30000, Loss: 0.000089\n",
      "Epoch: 28880/30000, Loss: 0.000027\n",
      "Epoch: 28890/30000, Loss: 0.000109\n",
      "Epoch: 28900/30000, Loss: 0.000016\n",
      "Epoch: 28910/30000, Loss: 0.000015\n",
      "Epoch: 28920/30000, Loss: 0.000013\n",
      "Epoch: 28930/30000, Loss: 0.000008\n",
      "Epoch: 28940/30000, Loss: 0.000008\n",
      "Epoch: 28950/30000, Loss: 0.000008\n",
      "Epoch: 28960/30000, Loss: 0.000008\n",
      "Epoch: 28970/30000, Loss: 0.000008\n",
      "Epoch: 28980/30000, Loss: 0.000008\n",
      "Epoch: 28990/30000, Loss: 0.000008\n",
      "Epoch: 29000/30000, Loss: 0.000008\n",
      "Epoch: 29010/30000, Loss: 0.000009\n",
      "Epoch: 29020/30000, Loss: 0.000101\n",
      "Epoch: 29030/30000, Loss: 0.000016\n",
      "Epoch: 29040/30000, Loss: 0.000095\n",
      "Epoch: 29050/30000, Loss: 0.000023\n",
      "Epoch: 29060/30000, Loss: 0.000010\n",
      "Epoch: 29070/30000, Loss: 0.000012\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 29080/30000, Loss: 0.000010\n",
      "Epoch: 29090/30000, Loss: 0.000008\n",
      "Epoch: 29100/30000, Loss: 0.000008\n",
      "Epoch: 29110/30000, Loss: 0.000008\n",
      "Epoch: 29120/30000, Loss: 0.000008\n",
      "Epoch: 29130/30000, Loss: 0.000008\n",
      "Epoch: 29140/30000, Loss: 0.000008\n",
      "Epoch: 29150/30000, Loss: 0.000009\n",
      "Epoch: 29160/30000, Loss: 0.000068\n",
      "Epoch: 29170/30000, Loss: 0.000112\n",
      "Epoch: 29180/30000, Loss: 0.000040\n",
      "Epoch: 29190/30000, Loss: 0.000045\n",
      "Epoch: 29200/30000, Loss: 0.000013\n",
      "Epoch: 29210/30000, Loss: 0.000008\n",
      "Epoch: 29220/30000, Loss: 0.000008\n",
      "Epoch: 29230/30000, Loss: 0.000008\n",
      "Epoch: 29240/30000, Loss: 0.000008\n",
      "Epoch: 29250/30000, Loss: 0.000008\n",
      "Epoch: 29260/30000, Loss: 0.000008\n",
      "Epoch: 29270/30000, Loss: 0.000009\n",
      "Epoch: 29280/30000, Loss: 0.000009\n",
      "Epoch: 29290/30000, Loss: 0.000062\n",
      "Epoch: 29300/30000, Loss: 0.000132\n",
      "Epoch: 29310/30000, Loss: 0.000011\n",
      "Epoch: 29320/30000, Loss: 0.000026\n",
      "Epoch: 29330/30000, Loss: 0.000019\n",
      "Epoch: 29340/30000, Loss: 0.000012\n",
      "Epoch: 29350/30000, Loss: 0.000009\n",
      "Epoch: 29360/30000, Loss: 0.000008\n",
      "Epoch: 29370/30000, Loss: 0.000008\n",
      "Epoch: 29380/30000, Loss: 0.000008\n",
      "Epoch: 29390/30000, Loss: 0.000009\n",
      "Epoch: 29400/30000, Loss: 0.000044\n",
      "Epoch: 29410/30000, Loss: 0.000188\n",
      "Epoch: 29420/30000, Loss: 0.000057\n",
      "Epoch: 29430/30000, Loss: 0.000027\n",
      "Epoch: 29440/30000, Loss: 0.000017\n",
      "Epoch: 29450/30000, Loss: 0.000012\n",
      "Epoch: 29460/30000, Loss: 0.000008\n",
      "Epoch: 29470/30000, Loss: 0.000009\n",
      "Epoch: 29480/30000, Loss: 0.000012\n",
      "Epoch: 29490/30000, Loss: 0.000054\n",
      "Epoch: 29500/30000, Loss: 0.000164\n",
      "Epoch: 29510/30000, Loss: 0.000052\n",
      "Epoch: 29520/30000, Loss: 0.000028\n",
      "Epoch: 29530/30000, Loss: 0.000017\n",
      "Epoch: 29540/30000, Loss: 0.000011\n",
      "Epoch: 29550/30000, Loss: 0.000008\n",
      "Epoch: 29560/30000, Loss: 0.000011\n",
      "Epoch: 29570/30000, Loss: 0.000036\n",
      "Epoch: 29580/30000, Loss: 0.000130\n",
      "Epoch: 29590/30000, Loss: 0.000022\n",
      "Epoch: 29600/30000, Loss: 0.000010\n",
      "Epoch: 29610/30000, Loss: 0.000017\n",
      "Epoch: 29620/30000, Loss: 0.000011\n",
      "Epoch: 29630/30000, Loss: 0.000011\n",
      "Epoch: 29640/30000, Loss: 0.000039\n",
      "Epoch: 29650/30000, Loss: 0.000250\n",
      "Epoch: 29660/30000, Loss: 0.000069\n",
      "Epoch: 29670/30000, Loss: 0.000023\n",
      "Epoch: 29680/30000, Loss: 0.000013\n",
      "Epoch: 29690/30000, Loss: 0.000011\n",
      "Epoch: 29700/30000, Loss: 0.000008\n",
      "Epoch: 29710/30000, Loss: 0.000009\n",
      "Epoch: 29720/30000, Loss: 0.000011\n",
      "Epoch: 29730/30000, Loss: 0.000034\n",
      "Epoch: 29740/30000, Loss: 0.000154\n",
      "Epoch: 29750/30000, Loss: 0.000034\n",
      "Epoch: 29760/30000, Loss: 0.000008\n",
      "Epoch: 29770/30000, Loss: 0.000012\n",
      "Epoch: 29780/30000, Loss: 0.000009\n",
      "Epoch: 29790/30000, Loss: 0.000017\n",
      "Epoch: 29800/30000, Loss: 0.000033\n",
      "Epoch: 29810/30000, Loss: 0.000134\n",
      "Epoch: 29820/30000, Loss: 0.000016\n",
      "Epoch: 29830/30000, Loss: 0.000010\n",
      "Epoch: 29840/30000, Loss: 0.000017\n",
      "Epoch: 29850/30000, Loss: 0.000008\n",
      "Epoch: 29860/30000, Loss: 0.000007\n",
      "Epoch: 29870/30000, Loss: 0.000009\n",
      "Epoch: 29880/30000, Loss: 0.000020\n",
      "Epoch: 29890/30000, Loss: 0.000541\n",
      "Epoch: 29900/30000, Loss: 0.000037\n",
      "Epoch: 29910/30000, Loss: 0.000063\n",
      "Epoch: 29920/30000, Loss: 0.000008\n",
      "Epoch: 29930/30000, Loss: 0.000014\n",
      "Epoch: 29940/30000, Loss: 0.000008\n",
      "Epoch: 29950/30000, Loss: 0.000007\n",
      "Epoch: 29960/30000, Loss: 0.000007\n",
      "Epoch: 29970/30000, Loss: 0.000007\n",
      "Epoch: 29980/30000, Loss: 0.000007\n",
      "Epoch: 29990/30000, Loss: 0.000010\n",
      "Epoch: 30000/30000, Loss: 0.000009\n"
     ]
    }
   ],
   "source": [
    "# # Create LEM instance\n",
    "# lem = LEM(input_size, hidden_size, output_size, dt=0.01)\n",
    "\n",
    "# # Loss and optimizer\n",
    "# criterion = nn.MSELoss()\n",
    "# optimizer = torch.optim.Adam(lem.parameters(), lr=0.1)\n",
    "# Create LEM instance :: niche h RNN vala \n",
    "lem = LEM(input_size, hidden_size, output_size, dt=0.1)\n",
    "\n",
    "# Loss and optimizer\n",
    "criterion = nn.MSELoss()\n",
    "optimizer = torch.optim.Adam(lem.parameters(), lr=0.01)\n",
    "\n",
    "\n",
    "\n",
    "# Training loop\n",
    "for epoch in range(num_epochs):\n",
    "    # Forward pass\n",
    "    output = lem(input_tensor)\n",
    "    loss = criterion(output, target_tensor)\n",
    "\n",
    "    # Backward and optimize\n",
    "    optimizer.zero_grad()\n",
    "    loss.backward()\n",
    "    optimizer.step()\n",
    "\n",
    "    # Print progress\n",
    "    if (epoch + 1) % 10 == 0:\n",
    "        print(f'Epoch: {epoch + 1}/{num_epochs}, Loss: {loss.item():.6f}')\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ba3799af",
   "metadata": {},
   "source": [
    "### Exact solution"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "86371afd",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1, 256)\n",
      "(1, 201)\n",
      "(201, 256)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/data/localhome/tkapoor/.local/lib/python3.8/site-packages/numpy/ma/core.py:2820: ComplexWarning: Casting complex values to real discards the imaginary part\n",
      "  _data = np.array(data, dtype=dtype, copy=copy,\n",
      "/usr/local/lib/python3.8/dist-packages/matplotlib/contour.py:1180: ComplexWarning: Casting complex values to real discards the imaginary part\n",
      "  self.levels = np.asarray(levels_arg).astype(np.float64)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy.io\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# Load the .mat file\n",
    "mat_data = scipy.io.loadmat('NLS.mat')\n",
    "\n",
    "# Following is the code to plot the data u vs x and t. u is 256*100\n",
    "# matrix. Use first 75 columns for training and 25 for testing :)\n",
    "\n",
    "# Access the variables stored in the .mat file\n",
    "# The variable names in the .mat file become keys in the loaded dictionary\n",
    "x = mat_data['x']\n",
    "t = mat_data['tt']\n",
    "u1 = mat_data['uu']\n",
    "\n",
    "# Use the loaded variables as needed\n",
    "print(x.shape)\n",
    "print(t.shape)\n",
    "print(u.shape)\n",
    "\n",
    "X, T = np.meshgrid(x, t)\n",
    "# Define custom color levels\n",
    "c_levels = np.linspace(np.min(u1), np.max(u1), 100)\n",
    "\n",
    "# Plot the contour\n",
    "plt.figure()\n",
    "plt.figure(figsize=(15, 5))\n",
    "plt.contourf(T, X, u1.T, levels=c_levels, cmap='coolwarm')\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('x')\n",
    "plt.title('Schrondinger-Equation')\n",
    "plt.colorbar()  # Add a colorbar for the contour levels\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "58f3e90d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "torch.Size([1, 1, 256])\n",
      "torch.Size([1, 40, 256])\n"
     ]
    }
   ],
   "source": [
    "print(test_tensor.shape)\n",
    "prediction_tensor = torch.zeros(1, 40, 256).float()\n",
    "print(prediction_tensor.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "79d7df2b",
   "metadata": {},
   "outputs": [],
   "source": [
    "with torch.no_grad():\n",
    "    prediction = lem(test_tensor)\n",
    "    prediction = prediction.view(1, 1, 256).float()\n",
    "    prediction_tensor[:, 0, :] = prediction\n",
    "    for i in range(39):\n",
    "        prediction = lem(prediction)\n",
    "        prediction = prediction.view(1, 1, 256).float()\n",
    "        prediction_tensor[:, i+1, :] = prediction\n",
    "        \n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e5dcef45",
   "metadata": {},
   "source": [
    "### Errors"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "59c8ee5f",
   "metadata": {},
   "source": [
    "### L2 norm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "c90a052e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([1, 1, 256])"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_tensor.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "5043b50b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(201, 256)\n"
     ]
    }
   ],
   "source": [
    "# true solution\n",
    "h_true = np.abs(u1)\n",
    "h_true = h_true.T\n",
    "print(h_true.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "8f380e24",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(40, 256)\n"
     ]
    }
   ],
   "source": [
    "# exact\n",
    "u_test_full = h_true[161:201, :]\n",
    "print(u_test_full.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "d8f98f3c",
   "metadata": {},
   "outputs": [],
   "source": [
    "# with torch.no_grad():\n",
    "#     prediction = lem(test_tensor)\n",
    "\n",
    "# prediction.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "21fdcc06",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([1, 40, 256])"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "k1 = (prediction_tensor - u_test_full)**2\n",
    "u_test_full_tensor = torch.tensor(u_test_full**2)\n",
    "prediction_tensor.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "203c3e52",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Relative Error Test:  0.0034094245940860693 %\n"
     ]
    }
   ],
   "source": [
    "# Compute the relative L2 error norm (generalization error)\n",
    "relative_error_test = torch.mean(k1)/ torch.mean(u_test_full_tensor)\n",
    "\n",
    "print(\"Relative Error Test: \", relative_error_test.item(), \"%\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8ee7d637",
   "metadata": {},
   "source": [
    "### Max error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "6563c9c6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor(0.0948, dtype=torch.float64)\n"
     ]
    }
   ],
   "source": [
    "R_abs = torch.max(prediction_tensor-u_test_full)\n",
    "print(R_abs)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0c59e44b",
   "metadata": {},
   "source": [
    "### Explained variance score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "882528cf",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Explained Variance Score: 0.9944356146690461\n"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "\n",
    "a = prediction_tensor\n",
    "b = u_test_full\n",
    "# Assuming 'a' is your predicted values (model's predictions) and 'b' is the true values (ground truth)\n",
    "# Make sure 'a' and 'b' are PyTorch tensors\n",
    "b = torch.tensor(b)\n",
    "# Calculate the mean of 'b'\n",
    "mean_b = torch.mean(b)\n",
    "\n",
    "# Calculate the Explained Variance Score\n",
    "numerator = torch.var(b - a)  # Variance of the differences between 'b' and 'a'\n",
    "denominator = torch.var(b)    # Variance of 'b'\n",
    "evs = 1 - numerator / denominator\n",
    "\n",
    "print(\"Explained Variance Score:\", evs.item())\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "459a08cf",
   "metadata": {},
   "source": [
    "### Mean absolute error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "c25e9d74",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor(0.0281, dtype=torch.float64)\n"
     ]
    }
   ],
   "source": [
    "R_mean = torch.mean(torch.abs(prediction_tensor - u_test_full))\n",
    "print(R_mean)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "f784a4e6",
   "metadata": {},
   "outputs": [],
   "source": [
    "## t= 1.28, 1.5, 1.37"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dc49e1af",
   "metadata": {},
   "source": [
    "### snapshots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "cf2b9c48",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(201, 256)"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "prediction_tensor = torch.squeeze(prediction_tensor)\n",
    "h = np.abs(u)\n",
    "h.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "2eacce42",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(256, 1)\n",
      "(256, 1)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "\n",
    "# Create the figure and axis objects with reduced width\n",
    "fig, ax = plt.subplots(figsize=(5, 5))  # You can adjust the width (7 inches) and height (5 inches) as needed\n",
    "\n",
    "# # Make sure the font is Times Roman\n",
    "# plt.rcParams['font.family'] = 'Times New Roman'\n",
    "\n",
    "# # Perform the prediction\n",
    "# with torch.no_grad():\n",
    "#     prediction = lem(test_tensor)\n",
    "\n",
    "final_time_output = prediction_tensor[-38, :]\n",
    "final_out = final_time_output.detach().numpy().reshape(-1, 1)\n",
    "final_true = h[-38, :].reshape(-1, 1)\n",
    "print(final_out.shape)\n",
    "print(final_true.shape)\n",
    "\n",
    "# Plot the data with red and blue lines, one with dotted and one with solid style\n",
    "ax.plot(x.T, final_out, color='red', linestyle='dotted', linewidth=12, label='Prediction')\n",
    "ax.plot(x.T, final_true, color='blue', linestyle='solid', linewidth=7, label='True')\n",
    "\n",
    "# Set the axis labels with bold font weight\n",
    "ax.set_xlabel(r\"${x}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "ax.set_ylabel(r\"${|u(x, t)|}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "\n",
    "# Set the title with bold font weight\n",
    "ax.set_title(r\"${t = 1.28}$\", fontsize=26, color='black', fontweight='bold')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 3\n",
    "ax.set_xticks([-5, 0, 5])\n",
    "ax.set_yticks([0, 2, 4])\n",
    "\n",
    "# Set tick labels fontweight to bold and increase font size\n",
    "ax.tick_params(axis='both', which='major', labelsize=20, width=2, length=10)\n",
    "\n",
    "# # Set the fontweight for tick labels to bold\n",
    "# for tick in ax.get_xticklabels() + ax.get_yticklabels():\n",
    "#     tick.set_weight('bold')\n",
    "\n",
    "# Set the spines linewidth to bold\n",
    "ax.spines['top'].set_linewidth(2)\n",
    "ax.spines['right'].set_linewidth(2)\n",
    "ax.spines['bottom'].set_linewidth(2)\n",
    "ax.spines['left'].set_linewidth(2)\n",
    "\n",
    "\n",
    "# Increase font size for x and y axis numbers\n",
    "ax.tick_params(axis='both', which='major', labelsize=24)\n",
    "\n",
    "# Set the legend\n",
    "# ax.legend()\n",
    "\n",
    "plt.savefig('LEM_1.28_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "baceeeca",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(256, 1)\n",
      "(256, 1)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "\n",
    "# Create the figure and axis objects with reduced width\n",
    "fig, ax = plt.subplots(figsize=(5, 5))  # You can adjust the width (7 inches) and height (5 inches) as needed\n",
    "\n",
    "# # Make sure the font is Times Roman\n",
    "# plt.rcParams['font.family'] = 'Times New Roman'\n",
    "\n",
    "# # Perform the prediction\n",
    "# with torch.no_grad():\n",
    "#     prediction = lem(test_tensor)\n",
    "\n",
    "\n",
    "final_time_output = prediction_tensor[-3, :]\n",
    "final_out = final_time_output.detach().numpy().reshape(-1, 1)\n",
    "final_true = h[-3, :].reshape(-1, 1)\n",
    "print(final_out.shape)\n",
    "print(final_true.shape)\n",
    "\n",
    "# Plot the data with red and blue lines, one with dotted and one with solid style\n",
    "ax.plot(x.T, final_out, color='red', linestyle='dotted', linewidth=12, label='Prediction')\n",
    "ax.plot(x.T, final_true, color='blue', linestyle='solid', linewidth=7, label='True')\n",
    "\n",
    "# Set the axis labels with bold font weight\n",
    "ax.set_xlabel(r\"${x}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "ax.set_ylabel(r\"${u(x, t)}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "\n",
    "# Set the title with bold font weight\n",
    "ax.set_title(r\"${t = 1.5}$\", fontsize=26, color='black', fontweight='bold')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 3\n",
    "ax.set_xticks([-5, 0, 5])\n",
    "ax.set_yticks([0, 2, 4])\n",
    "\n",
    "# Set tick labels fontweight to bold and increase font size\n",
    "ax.tick_params(axis='both', which='major', labelsize=20, width=2, length=10)\n",
    "\n",
    "# # Set the fontweight for tick labels to bold\n",
    "# for tick in ax.get_xticklabels() + ax.get_yticklabels():\n",
    "#     tick.set_weight('bold')\n",
    "\n",
    "# Set the spines linewidth to bold\n",
    "ax.spines['top'].set_linewidth(2)\n",
    "ax.spines['right'].set_linewidth(2)\n",
    "ax.spines['bottom'].set_linewidth(2)\n",
    "ax.spines['left'].set_linewidth(2)\n",
    "\n",
    "\n",
    "# Increase font size for x and y axis numbers\n",
    "ax.tick_params(axis='both', which='major', labelsize=24)\n",
    "\n",
    "# Set the legend\n",
    "# ax.legend()\n",
    "\n",
    "plt.savefig('LEM_1.5_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8575833f",
   "metadata": {},
   "source": [
    "### 80-20 contour plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "d355ac1f",
   "metadata": {},
   "outputs": [],
   "source": [
    "conc_u = torch.squeeze(input_tensor)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "cbe2f326",
   "metadata": {},
   "outputs": [],
   "source": [
    "concatenated_tensor = torch.cat((conc_u, prediction_tensor), dim=0)\n",
    "\n",
    "t1 = np.linspace(0, 1.5707 , 200)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "5010ccd3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import torch\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.ticker import FixedLocator\n",
    "\n",
    "# Assuming you have defined concatenated_tensor as a PyTorch tensor\n",
    "# concatenated_tensor = torch.cat((tensor1, tensor2), dim=0)\n",
    "\n",
    "# Convert concatenated_tensor to a NumPy array\n",
    "concatenated_array = concatenated_tensor.numpy()\n",
    "\n",
    "# Define custom color levels\n",
    "x = np.linspace(0, 1, concatenated_array.shape[1])  # Replace 0 and 1 with your actual x range\n",
    "t = np.linspace(0, 1, concatenated_array.shape[0])  # Replace 0 and 1 with your actual t range\n",
    "X, T = np.meshgrid(x, t1)\n",
    "\n",
    "# Define custom color levels using the minimum and maximum from the NumPy array\n",
    "c_levels = np.linspace(np.min(concatenated_array), np.max(concatenated_array), 400)\n",
    "\n",
    "# Plot the contour with interpolated data\n",
    "plt.figure(figsize=(20, 5))\n",
    "plt.pcolormesh(T, X, concatenated_array, shading='auto', cmap='twilight')\n",
    "\n",
    "# Set the fontweight for axis labels to regular (not bold)\n",
    "plt.xlabel(\"$t$\", fontsize=26)\n",
    "plt.ylabel(\"$x$\", fontsize=26)\n",
    "plt.title(\"$|u(x, t)|$\", fontsize=26)\n",
    "\n",
    "# Set tick labels fontweight to regular (not bold) and increase font size\n",
    "plt.tick_params(axis='both', which='major', labelsize=20, width=3, length=10)\n",
    "\n",
    "# Set the fontweight for tick labels to regular (not bold)\n",
    "for tick in plt.gca().get_xticklabels() + plt.gca().get_yticklabels():\n",
    "    tick.set_weight('normal')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 5\n",
    "num_ticks = 5\n",
    "x_ticks = np.linspace(np.min(T), np.max(T), num_ticks)\n",
    "y_ticks = np.linspace(np.min(X), np.max(X), num_ticks)\n",
    "\n",
    "plt.gca().xaxis.set_major_locator(FixedLocator(x_ticks))\n",
    "plt.gca().yaxis.set_major_locator(FixedLocator(y_ticks))\n",
    "\n",
    "cbar1 = plt.colorbar()\n",
    "# Set the number of ticks for the color bar with uniformly distributed numbers\n",
    "num_ticks = 5\n",
    "c_ticks = np.linspace(np.min(concatenated_array), np.max(concatenated_array), num_ticks)\n",
    "cbar1.set_ticks(c_ticks)\n",
    "\n",
    "# Set the fontweight and fontsize for color bar tick labels\n",
    "for t in cbar1.ax.get_yticklabels():\n",
    "    t.set_weight('normal')\n",
    "    t.set_fontsize(26)  # Increase the font size for color bar tick labels\n",
    "\n",
    "# Increase the size of numbers on axis and color bar\n",
    "plt.xticks(fontsize=26)\n",
    "plt.yticks(fontsize=26)\n",
    "\n",
    "# Increase the tick size and width of the color bar\n",
    "cbar1.ax.tick_params(axis='both', which='major', labelsize=30, width=3,  length=10)\n",
    "\n",
    "# Add a dotted line at t = 0.8\n",
    "plt.axvline(x=1.26449, color='black', linestyle='dotted', linewidth=5)\n",
    "\n",
    "#plt.savefig('Contour_LEM_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "plt.savefig('contour_LEM_20.jpeg', dpi=500, bbox_inches=\"tight\")\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "69bb6963",
   "metadata": {},
   "source": [
    "### exact contour"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "9d174f94",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import torch\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.ticker import FixedLocator\n",
    "\n",
    "# Assuming you have defined concatenated_tensor as a PyTorch tensor\n",
    "# concatenated_tensor = torch.cat((tensor1, tensor2), dim=0)\n",
    "\n",
    "# Convert concatenated_tensor to a NumPy array\n",
    "concatenated_array = h\n",
    "\n",
    "# Define custom color levels\n",
    "x = np.linspace(0, 1, concatenated_array.shape[1])  # Replace 0 and 1 with your actual x range\n",
    "t = np.linspace(0, 1, concatenated_array.shape[0])  # Replace 0 and 1 with your actual t range\n",
    "X, T = np.meshgrid(x, t)\n",
    "\n",
    "# Define custom color levels using the minimum and maximum from the NumPy array\n",
    "c_levels = np.linspace(np.min(concatenated_array), np.max(concatenated_array), 400)\n",
    "\n",
    "# Plot the contour with interpolated data\n",
    "plt.figure(figsize=(20, 5))\n",
    "plt.pcolormesh(T, X, concatenated_array, shading='auto', cmap='twilight')\n",
    "\n",
    "# Set the fontweight for axis labels to regular (not bold)\n",
    "plt.xlabel(\"$t$\", fontsize=26)\n",
    "plt.ylabel(\"$x$\", fontsize=26)\n",
    "plt.title(\"$|u(x, t)|$\", fontsize=26)\n",
    "\n",
    "# Set tick labels fontweight to regular (not bold) and increase font size\n",
    "plt.tick_params(axis='both', which='major', labelsize=20, width=3, length=10)\n",
    "\n",
    "# Set the fontweight for tick labels to regular (not bold)\n",
    "for tick in plt.gca().get_xticklabels() + plt.gca().get_yticklabels():\n",
    "    tick.set_weight('normal')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 5\n",
    "num_ticks = 5\n",
    "x_ticks = np.linspace(np.min(T), np.max(T), num_ticks)\n",
    "y_ticks = np.linspace(np.min(X), np.max(X), num_ticks)\n",
    "\n",
    "plt.gca().xaxis.set_major_locator(FixedLocator(x_ticks))\n",
    "plt.gca().yaxis.set_major_locator(FixedLocator(y_ticks))\n",
    "\n",
    "cbar1 = plt.colorbar()\n",
    "# Set the number of ticks for the color bar with uniformly distributed numbers\n",
    "num_ticks = 5\n",
    "c_ticks = np.linspace(np.min(concatenated_array), np.max(concatenated_array), num_ticks)\n",
    "cbar1.set_ticks(c_ticks)\n",
    "\n",
    "# Set the fontweight and fontsize for color bar tick labels\n",
    "for t in cbar1.ax.get_yticklabels():\n",
    "    t.set_weight('normal')\n",
    "    t.set_fontsize(26)  # Increase the font size for color bar tick labels\n",
    "\n",
    "# Increase the size of numbers on axis and color bar\n",
    "plt.xticks(fontsize=26)\n",
    "plt.yticks(fontsize=26)\n",
    "\n",
    "# Increase the tick size and width of the color bar\n",
    "cbar1.ax.tick_params(axis='both', which='major', labelsize=30, width=3,  length=10)\n",
    "\n",
    "#plt.savefig('Contour_Exact.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "plt.savefig('contour_exact.jpeg', dpi=500, bbox_inches=\"tight\")\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "717f688f",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "pytorch",
   "language": "python",
   "name": "pytorch"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
